【问题标题】:BufferedWriter keeps erasing what I wroteBufferedWriter 不断擦除我写的内容
【发布时间】:2015-09-13 19:48:33
【问题描述】:

我有以下课程:

public class test{
    private static final File testfile = new File("filename")//imaginary file name
private static BufferedWriter writer = null;
    public void test1(){
      writer = new OutStreamWriter(newFileOutputStream(testfile));
      writer.write("hello");
      writer.close();
}
    public void test2(){
      writer = new OutStreamWriter(newFileOutputStream(testfile));
      writer.write("hello");
      writer.close();
}

}

我希望它们在调用时都写入同一个文件,并且我在每个方法中创建缓冲写入器。但是,一旦我关闭缓冲的写入器,它就无法再次打开。如何避免这种情况,以便我可以多次调用这两种方法?

【问题讨论】:

  • 请向我们展示您的代码,以便我们知道如何为您提供帮助。

标签: java bufferedwriter


【解决方案1】:

相信你也有同样的问题Java - Do not overwrite with bufferedwriter

Sanjay T. Sharma 说:

“FileWriter 接受一个可选的布尔参数,指定是否应该追加或覆盖现有内容。如果你想打开文件以追加模式写入,请传入 true。”

【讨论】:

  • 在不将文本文件作为参数传递的情况下,无论如何都可以这样做?
  • “文本文件”是什么意思?你的意思是文件的名称/位置?
  • 它不接受文本文件作为参数。它接受一个文件对象: File file = new File("filename.ext");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-07
  • 1970-01-01
  • 2020-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多