以下是我在使用Windows时手动创建log
文件的方法。
.LOG
下次打开文件时,会自动添加当前日期/时间的条目。喜欢:
.LOG
11:33 AM 07-Oct-12
当您尝试关闭文件时,它会询问您是否要保存。如果我们点击保存,那么下次在12:20 P.M 07-Oct-2012
上说我们打开该文件,它将如下所示:
.LOG
11:33 AM 07-Oct-12
12:20 P.M 07-Oct-2012
如果我们点击下次不保存,文件将如下所示:
.LOG
12:20 P.M 07-Oct-2012
以上是一种存储日志的手动方式。我正在尝试使用程序执行此操作。我已经创建了一个名为 LOG 的文件,它有.LOG
和后面的换行符。但是当我写一个这样的文件的条目,如first entry
,然后关闭文件/编写器,然后再打开写一个新的条目,如second entry
,两个都一个接一个地添加,但不是单独的时间/日期标题。为什么是这样 ?因为如果我手动(而不是通过程序)打开该特定文件,则会添加当前日期和时间的条目。通过点击打开文件并通过FileReader/FileWriter
打开它有什么区别吗?
以下是我尝试使用不同日期/时间标题的每个新条目写入日志文件的方法。
try {
File f = new File("C:/Users/user/Desktop/LOG.txt");
if(f.exists()) {
System.out.println("exists");
FileWriter writer = new FileWriter(f,true);
String content = jTextArea1.getText();
writer.write(content);
writer.close();
FileReader reader = new FileReader(f);
int x;
while( (x = reader.read() ) > 0) {
System.out.print((char)x);
}
reader.close();
}
}catch(Exception exc) {
System.out.println(exc);
}
上面的代码片段首先将一个条目写入名为 LOG.txt 的日志文件,然后尝试从该文件中读取。例如,最初文件看起来像:
.LOG
添加条目后,让它成为第一个日志,它变为:
.LOG
first log
当我希望它看起来像:
.LOG
12:20 P.M 07-Oct-2012
first entry..
12:23 P.M 07-Oct-2012
second entry..
12:28 P.M 07-Oct-2012
third entry..
但随着我不断添加新条目,它继续这样:
.LOG
first entry..second entry..third entry...
当我转到目录并通过双击打开文件时,会在文件中添加日期/时间条目并显示,如下所示:
.LOG
first entry..second entry..third entry...
12:20 P.M 07-Oct-2012
为什么?是指示:
FileReader reader = new FileReader(fileObject);
// read
reader.close();
首先双击然后点击十字架并保存文件,不等于打开和关闭文件?
注意: ~ Ref : How to use Notepad to create a Log file (Microsoft)