【发布时间】:2012-04-05 07:30:03
【问题描述】:
您好,我正在使用以下方法从 Jtextarea 写入文件,我在 Timer 内每 30 秒调用一次此方法,但只在文件中添加新行,它会重写 Jtextarea 中包含的整行,所以我有重复的行。我想避免这种情况并仅使用新行更新文件。请你帮帮我。
public void loger() {
FileWriter writer = null;
try {
writer = new FileWriter("MBM_Log_"+date()+".txt" , true);
textArea.write(writer);
} catch (IOException exception) {
System.err.println("log error");
exception.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException exception) {
System.err.println("Error closing writer");
exception.printStackTrace();
}
}
}
}
【问题讨论】:
-
我是否正确理解您每 30 秒创建一个新文件并且希望每个文件仅包含过去 30 秒的消息?
-
不,我只是每 30 秒更新一次同一个文件。
-
writer = new FileWriter("MBM_Log_"+Date()+".txt" , true);如果Date()是一个方法,它应该被称为date()。 -
谢谢安德鲁,我改了,是的,这是一种方法。
-
名称 "MBM_Log_"+date()+".txt" 允许我每天获取一个日志文件,例如 MBM_Log_20-03-2012
标签: java swing file-io io filewriter