1

write(byte[])使用fromFileOutputStream和的方法时是否存在实际性能差异BufferedOutputStream

我在 HDD 上测试了写入 500 MB 的文件,结果是 13 秒和 12 秒:

try(FileOutputStream out = new FileOutputStream(filePath1)) {
            out.write(readBytes);
}

和,

try(BufferedOutputStream out = new BufferedOutputStream( 
                           new FileOutputStream(filePath2))) {
            out.write(readBytes);
}

我在BufferedOutputStream效率方面缺少什么?

4

1 回答 1

2

BufferedOutputStream如果您一次写入一点数据,效率会更高:它会分批写入,直到它有“足够”的数据。

如果您一次全部写入,则不会有任何区别,因为总是有足够的数据来填充缓冲区;或者您已经到达数据的末尾并需要关闭流。

于 2017-01-31T14:43:22.637 回答