检查文件是否存在,如果存在,则创建一个具有更高编号的新文件

时间:2011-03-20 14:10:43

标签: java file-io file

我正在尝试输出我的程序创建的一组点,我希望能够多次运行它而无需手动移动文件或重命名它们。
我输出的文件将具有类似“cluster-1.txt”的名称(如果需要可以更改)。所以我需要我的程序来确定是否存在集群输出文件,找到编号最大的文件并创建一个更高编号的文件。

例如,如果程序第一次运行它将检查,找不到文件并创建“cluster-0.txt”;如果程序第二次运行,它将检查并找到“cluster-0.txt”并创建“cluster-1.txt”;如果程序第n次运行,它将检查并找到具有最高n值的文件,并创建一个名为“cluster-n + 1.txt”的文件。

如果可能,它应该忽略中间丢失的任何文件。因此,如果我有cluster-0.txt,cluster-10.txt和cluster-11.txt,它应该创建cluster-12.txt。但这并不重要。

2 个答案:

答案 0 :(得分:2)

  1. 读取目录中的所有文件。 class File
  2. 解析文件名并检索号码。 class String
  3. 仅选择最高数字。 class Integerclass Math
  4. 如果存在最高编号,则创建文件 - [最高编号+ 1] .txt else cluster-1.txt

答案 1 :(得分:1)

最简单的方法是使用File.list获取输出目录中的所有文件名,然后使用手动编码逻辑或Regex查找与您的模式匹配的文件名。扫描完整个列表后,您就会知道现有的最大数字是多少。