Hello over new flow ^ _ ^, 我有一个写入方法,当我调用它时,它会写入但之前的行被删除并被新的行替换。 我的写法:
public void write(String args) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file.getAbsoluteFile()));
writer.write(args);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
这种情况正在发生,因为每次调用FileWriter
方法时,您都会在非附加(即覆盖)模式下打开新的write()
。相反,请尝试在追加模式中创建FileWriter
:
public void write(String args) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file.getAbsoluteFile(), true));
writer.write(args);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
根据您的使用情况,您可以更有意义地一次完成所有写入操作,这可以首先消除对此方法的需求。但是如果你想要一个可以在某些时候附加到文件的辅助方法,那么这个答案应该会有所帮助。
有关详细信息,请参阅JavaDoc。