我曾经用PrintWriter
用Java写入文本文件,该过程需要时间,bcz有一个迭代过程,在每次迭代结束时,如果我等到该过程结束后,我可以打开并查看文件的内容而没有问题,但是如何查看文件仍在写入时的更新过程,例如我在文件夹内刷新,然后看到每次刷新单击时尺寸会越来越大?
答案 0 :(得分:2)
您看不到将东西写入文件的进度,因为它实际上可能不是。
首先:Java Streams通常会优化对硬盘驱动器的访问,因为访问速度很慢,因此尽可能少地访问它。要强制Java执行其认为要写入磁盘的操作,请在附加内容后调用PrintWriter.flush()
。
第二个:即使那样也可能无法解决问题,因为大多数操作系统都执行相同的优化并获得相同的结果,并且您不能简单地强迫操作系统进入flush()
。
如前所述,您可以做的最好的事情就是Printwriter.flush()
。
答案 1 :(得分:0)
正如@Elliott提到的,您应该在每次追加之后执行pw.flush(),以立即查看大小变化。