[英]Performance : BufferedOutputStream vs FileOutputStream in Java
[英]Testing write(byte[]) on FileOutputStream vs. BufferedOutputStream
使用FileOutputStream
和BufferedOutputStream
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.