Java 创建一个新文件,或覆盖现有文件

Ter*_*Lyu 5 java file

我想要实现的是无论文件是否存在都创建一个文件。

我尝试使用,File.createNewFile()但只有在文件不存在时才会创建文件。我应该使用File.delete()然后File.createNewFile()吗?

或者有更清晰的方法吗?

Bru*_*iro 7

FileWriter 有一个构造函数,它也接受 2 个参数:文件名和一个布尔值。布尔值指示是附加还是覆盖现有文件。以下是两个 Java FileWriter 示例,表明:

Writer fileWriter = new FileWriter("c:\\data\\output.txt", true);  //appends to file

Writer fileWriter = new FileWriter("c:\\data\\output.txt", false); //overwrites file
Run Code Online (Sandbox Code Playgroud)


S.K*_*.K. 5

您可以使用合适的Writer

BufferedWriter br = new BufferedWriter(new FileWriter(new File("abc.txt")));
br.write("some text");
Run Code Online (Sandbox Code Playgroud)

如果文件 abc.txt 不存在,它将创建该文件。如果是,它将覆盖该文件。

您还可以使用 FileWriter 的另一个构造函数以附加模式打开文件:

BufferedWriter br = new BufferedWriter(new FileWriter(new File("abc.txt"), true));
br.write("some text");
Run Code Online (Sandbox Code Playgroud)

上述构造函数的文档说:

给定 File 对象构造一个 FileWriter 对象。如果第二个参数为 true,则字节将写入文件的末尾而不是开头。