log
这是我在使用 Windows 时如何手动创建文件的方法。
- 打开记事本
- 大写
.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();
不等于先双击然后点击十字并保存文件来打开和关闭文件?