0

我已经浏览了 javadoc,但找不到任何东西。它是否在内部缓冲数据?如果是,由于没有关闭/刷新操作,它如何确保所有数据都已写入。如果它不缓冲,是否每次调用都会进入磁盘?

http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence, java.nio.charset。字符集,布尔值)

我在这里查看了源代码, http: //grepcode.com/file/repo1.maven.org/maven2/commons-io/commons-io/2.4/org/apache/commons/io/FileUtils.java#FileUtils.openOutputStream %28java.io.File%2Cboolean%29它似乎没有做任何缓冲。它每次都会打开一个流。

4

1 回答 1

5

从源上看,创建了一个新的流,写出数据,然后关闭了流。

这是我用来确定这一点的来源的链接。最终writeStringToFile在您调用 write 时被调用。

这是有道理的,因为它是一个不返回任何内容的静态方法。

因此,它不会在内部缓冲数据。每次调用write数据都会写入文件。

于 2013-08-13T23:50:08.480 回答