使用write(byte[])FileOutputStream中的BufferedOutputStream方法时,实际性能是否有所不同?

我在硬盘上都测试了写入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效率缺少什么?

最佳答案

如果您一次写入一点数据,BufferedOutputStream会更有效:它将批量写入,直到拥有“足够”的数据为止。

如果您要一次编写所有内容,则不会有什么区别,因为总是有足够的数据来填充缓冲区。或者您已经到达数据末尾,需要关闭流。

09-10 12:28
查看更多