Java 如何更正File.exists()方法

Java 如何更正File.exists()方法,java,eclipse,file,Java,Eclipse,File,我正在使用.exists()方法来确保文件不存在,如果存在,它会向文件添加一个数字。但是,它无法使用原始文件名创建文件,并且在创建另一个文件时基本上覆盖了以前的文件名 这是我的代码: int count=1; String name=“myFileName”+计数; 字符串path=“/path/”; 字符串ext=“.txt”; 文件=新文件(路径+名称+外部); if(file.exists()){ System.out.println(“找到文件!”); name=“myFileName”

我正在使用
.exists()
方法来确保文件不存在,如果存在,它会向文件添加一个数字。但是,它无法使用原始文件名创建文件,并且在创建另一个文件时基本上覆盖了以前的文件名

这是我的代码:

int count=1;
String name=“myFileName”+计数;
字符串path=“/path/”;
字符串ext=“.txt”;
文件=新文件(路径+名称+外部);
if(file.exists()){
System.out.println(“找到文件!”);
name=“myFileName”+(count++);
文件=新文件(路径+名称+外部);
}
System.out.println(“写入的文件:“+name”);
每当我再次运行它时,输出如下:

[1:47:40:359]写入的文件:myFileName1


[1:47:40:361]写入文件:myFileName1

您的错误是
count++
。postfixed
++
运算符首先“返回”该值,然后递增该值。您需要先递增,然后返回。使用前缀为
++
的运算符执行此操作:
+++count

while循环应该有助于确保您创建一个新文件,即使以前的文件存在,即使第二个或第三个文件也存在

int count=1;
String name=“myFileName”+计数;
字符串path=“/path/”;
字符串ext=“.txt”;
文件=新文件(路径+名称+外部);
while(file.exists()){
System.out.println(“找到文件!”);
name=“myFileName”+(++count);
文件=新文件(路径+名称+外部);
}
System.out.println(“写入的文件:“+name”);

count++
是后期更新(将在更新后更新),您可能需要预先更新的
++count
,有关相同概念的更多想法,请参阅您可以使用name=“myFileName”+(count+1)@sanjeevRm,那只能用一次。如果OP不继续计数,如果myFileName2或myFileName3存在,它们将分别覆盖下一个文件。