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

问题描述

我曾经用PrintWriterjava写一个文本文件,这个过程需要时间,bcz有一个迭代过程,在每次迭代结束时,一个字符串附加到文件中,如果我等到过程结束,我可以打开并查看文件的内容没有问题,但是如何在文件仍在写入时查看文件的更新过程,例如我在文件夹内刷新然后我看到每次刷新单击时大小变得越来越大?

标签: javaprintwriterbufferedwriterwriter

解决方案


你看不到你的东西被写入文件的进度,因为它实际上可能不是。

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

第二:即使这样也可能无法解决问题,因为大多数操作系统都会以相同的结果进行相同的优化,而且你不能简单地强迫你的操作系统flush().

如前所述,您能做的最好的事情是Printwriter.flush().


推荐阅读