java - 每次刷新后在java中写入文件时查看文件的大小和内容(新添加的字符串)
问题描述
我曾经用PrintWriter
java写一个文本文件,这个过程需要时间,bcz有一个迭代过程,在每次迭代结束时,一个字符串附加到文件中,如果我等到过程结束,我可以打开并查看文件的内容没有问题,但是如何在文件仍在写入时查看文件的更新过程,例如我在文件夹内刷新然后我看到每次刷新单击时大小变得越来越大?
解决方案
你看不到你的东西被写入文件的进度,因为它实际上可能不是。
第一:Java Streams 通常会优化对硬盘的访问,尽可能少地访问它,因为这样做很慢。要强制 Java 执行它认为写入磁盘的操作,请PrintWriter.flush()
在附加内容后调用。
第二:即使这样也可能无法解决问题,因为大多数操作系统都会以相同的结果进行相同的优化,而且你不能简单地强迫你的操作系统flush()
.
如前所述,您能做的最好的事情是Printwriter.flush()
.
推荐阅读
- javascript - 在Javascript中将给定值除以.style.width
- python - 无法导入语音识别
- r - solve() 函数在 GNU R 3.6.3 中冻结 CLI
- wordpress - wp_link_pages() 不显示下一页
- html - Font-Face - 服务器响应状态为 403(禁止)
- java - 程序无法识别 .class 文件
- javascript - 如何在Javascript中选择动态生成的元素
- python - 如何使用 Beautifulsoup 将兄弟元素附加到前一个元素
- java - 如何在不破坏基于 ASCII 的代码的情况下增加 US ASCII 字符集的范围?
- python - tree.xpath() 使用 lxml 库在 Webscraping 中返回空列表