【问题标题】:Java - BufferedWriter overwriting lines issueJava - BufferedWriter 覆盖行问题
【发布时间】:2015-02-27 14:01:31
【问题描述】:

所以我有一个带有按钮的 JFrame,该按钮可以访问此方法以将字符串写入文本文件:

 public static void writeTest(String item) {
    File file = new File (directory + "TestFile.txt");
        try {
            BufferedWriter out = new BufferedWriter(new FileWriter(file));
            out.write(item);
            out.newLine();
            out.close();
        } catch (IOException e) {

        }
   }

这部分工作正常,但如果我再次单击该按钮,它总是会覆盖第一行,即使我有 newLine();那里。我什至试着把 newLine();之前和之后 out.write(); , 但它只是用空格替换文件的第一行,然后在第二行写入“项目”字符串。我想让它写一行字符串,保存在文本文件中,当我写一个新行时,它会在文件中添加一行文本,而不是覆盖它。

【问题讨论】:

标签: java newline overwrite bufferedwriter


【解决方案1】:

以追加模式写入文件:

BufferedWriter out = new BufferedWriter(new FileWriter(file, true));

这里,new FileWriter(file, true),true 是附加模式的标志

【讨论】:

  • 谢谢!这很有效,我现在了解以供将来参考。
  • @David,请接受对您有用的答案
  • 哈哈抱歉,我无法弄清楚如何为我的生活选择一个答案。再次感谢。
【解决方案2】:

以追加模式打开 FileWriter

【讨论】:

  • 怎么做的:BufferedWriter out = new BufferedWriter(new FileWriter(file, true));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-08
相关资源
最近更新 更多