Java - BufferedWriter 覆盖行问题

Java - BufferedWriter overwriting lines issue

所以我有一个带有按钮的 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() 之前和之后; ,但它只是将文件的第一行替换为空白 space,然后在第二行写入 'item' 字符串。我想让它写一行字符串,把它保存在文本文件中,当我写一个新行时,它会在文件中添加一行文本,而不是覆盖它。

以附加模式打开 FileWriter

以附加模式写入文件:

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

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