0

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();

不等于先双击然后点击十字并保存文件来打开和关闭文件?

注意: 〜参考:如何使用记事本创建日志文件(Microsoft)

4

0 回答 0