这是在Java中重写文件内容的最佳方法吗?
我想重写文件的内容。
到目前为止,我想到的是:
- 保存文件名
- 删除现有文件
- 创建具有相同名称的新空文件
- 将所需内容写入空文件
这是最好的方法吗?还是有更直接的方法,即不必删除和创建文件,而只需更改内容?
我想重写文件的内容。
到目前为止,我想到的是:
这是最好的方法吗?还是有更直接的方法,即不必删除和创建文件,而只需更改内容?
要使用 FileOutputStream 覆盖 file foo.log:
File myFoo = new File("foo.log");
FileOutputStream fooStream = new FileOutputStream(myFoo, false); // true to append
// false to overwrite.
byte[] myBytes = "New Contents\n".getBytes();
fooStream.write(myBytes);
fooStream.close();
或使用 FileWriter :
File myFoo = new File("foo.log");
FileWriter fooWriter = new FileWriter(myFoo, false); // true to append
// false to overwrite.
fooWriter.write("New Contents\n");
fooWriter.close();
为此,我强烈建议使用Apache Common的FileUtil。我发现这个软件包非常宝贵。它易于使用,同样重要的是,当您稍后返回时,它易于阅读/理解。
//Create some files here
File sourceFile = new File("pathToYourFile");
File fileToCopy = new File("copyPath");
//Sample content
org.apache.commons.io.FileUtils.writeStringToFile(sourceFile, "Sample content");
//Now copy from source to copy, the delete source.
org.apache.commons.io.FileUtils.copyFile(sourceFile, fileToCopy);
org.apache.commons.io.FileUtils.deleteQuietly(sourceFile);
更多信息可以在以下位置找到: http://commons.apache.org/io/api-release/org/apache/commons/io/FileUtils.html