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是附加模式的标志
所以我有一个带有按钮的 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是附加模式的标志