簡體   English   中英

在FileOutputStream和BufferedOutputStream上測試write(byte [])

[英]Testing write(byte[]) on FileOutputStream vs. BufferedOutputStream

使用FileOutputStreamBufferedOutputStream write(byte[])方法時,實際性能是否有所不同?

我在硬盤上都測試了寫入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效率更高:它將批處理寫入,直到擁有“足夠”的數據為止。

如果您一次編寫所有內容,則不會有什么區別,因為總是有足夠的數據來填充緩沖區。 或者您已經到達數據末尾,需要關閉流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM