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

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

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

或者有更清晰的方法吗?


Qyouu
浏览 918回答 3
3回答

千巷猫影

FileWriter 有一个构造函数,它也接受 2 个参数:文件名和一个布尔值。布尔值指示是附加还是覆盖现有文件。以下是两个 Java FileWriter 示例,表明:Writer fileWriter = new FileWriter("c:\\data\\output.txt", true);  //appends to fileWriter fileWriter = new FileWriter("c:\\data\\output.txt", false); //overwrites file

慕标5832272

您可以使用合适的Writer:BufferedWriter br = new BufferedWriter(new FileWriter(new File("abc.txt")));br.write("some text");如果它不存在,它将创建一个文件 abc.txt。如果是,它将覆盖该文件。您还可以使用 FileWriter 的另一个构造函数以追加模式打开文件:BufferedWriter br = new BufferedWriter(new FileWriter(new File("abc.txt"), true));br.write("some text");上述构造函数的文档说:给定一个 File 对象构造一个 FileWriter 对象。如果第二个参数为真,则字节将写入文件的末尾而不是开头。

蝴蝶不菲

调用File#createNewFile是安全的,假设路径有效并且您对其具有写入权限。如果同名的文件已经存在,它只会返回 false:File f = new File("myfile.txt");if (f.createNewFile()) {    // If there wasn't a file there beforehand, there is one now.} else {   // If there was, no harm, no foul}// And now you can use it.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java