Java - BufferedWriter覆盖行问题

时间:2015-02-27 14:01:32

标签: java newline overwrite bufferedwriter

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

 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()之前和之后; ,但它只是用空格替换文件的第一行,然后在第二行写入'item'字符串。我希望它写一行String,将其保存在文本文件中,当我写一个新行时,它会向文件添加一行文本,而不是覆盖它。

2 个答案:

答案 0 :(得分:0)

以附加模式打开FileWriter

答案 1 :(得分:0)

以附加模式写入文件:

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

此处,new FileWriter(file, true),true是附加模式的标志