每次刷新后在 java 中写入文件时查看文件的大小和内容(新添加的字符串)

See size and the content of file (the new added strings) while writing to it in java after each refresh

我用PrintWriter用java写入一个文本文件,这个过程需要时间,因为有一个迭代过程,在每次迭代结束时,一个字符串被附加到文件,如果我等到进程结束,我可以毫无问题地打开并查看文件的内容,但是如何在文件仍在写入时查看文件的更新过程,例如我在文件夹内刷新,然后我看到每次点击刷新后文件的大小越来越大?

正如@Elliott 提到的,您应该在每次附加后执行 pw.flush() 以立即查看大小变化。

您看不到将您的内容写入文件的进度,因为它实际上可能不是。

首先:Java Streams 通常会优化对硬盘的访问,尽可能少地访问它,因为这样做很慢。ossible。要强制 Java 执行它认为正在写入磁盘的操作,请在附加内容后调用 PrintWriter.flush()

其次:即使这样也可能无法解决问题,因为 most 操作系统会进行相同的优化并得到相同的结果,您不能简单地强迫 os 到 flush().

如前所述,您最多只能 Printwriter.flush()