一尘不染

这是用Java重写文件内容的最佳方法吗?

java

我想重写文件的内容。

到目前为止,我想到的是:

  1. 保存文件名
  2. 删除现有文件
  3. 用相同的名称创建一个新的空文件
  4. 将所需内容写入空文件

这是最好的方法吗?还是有更直接的方法,即不必删除和创建文件,而只需更改内容?


阅读 276

收藏
2020-09-08

共1个答案

一尘不染

要使用FileOutputStream覆盖文件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();
2020-09-08