-6
import java.io.*;

public class createfile{

public static void main(String args[]) throws IOException{

File f=new File("javafile.txt");

if(f.exists())

{

f.createNewFile();

System.out.println("New file \"javafile.txt\"has been created to the current directory");

}

else

System.out.println("The specified file is already exist");

}
}

我创建了一个现有文件“javafile.txt”。我在其中输入了一些文本。如果我编译 javac,我希望该文件必须通过以下代码重新创建

if(f.exists())    
{    
   f.createNewFile();
}

但它没有创建..当我打开它时,现有文件打开。为什么?

4

2 回答 2

2

File.createNewFile()如果不存在则创建新文件。

public boolean createNewFile() throws IOException

当且仅当具有此名称的文件尚不存在时,以原子方式创建一个以此抽象路径名命名的新的空文件。检查文件是否存在以及如果文件不存在则创建文件是单个操作,相对于可能影响文件的所有其他文件系统活动而言是原子操作。

于 2013-09-25T10:06:06.450 回答
0

文档(强调我的):

当且仅当具有此名称的文件尚不存在时,以原子方式创建一个以此抽象路径名命名的新的空文件。

这正是该方法应该如何工作的方式。

于 2013-09-25T10:05:21.767 回答