1. 程式人生 > >FileOutputStream 與 BufferedOutputStream 的區別(FileOutputStream到底有沒有緩衝區)

FileOutputStream 與 BufferedOutputStream 的區別(FileOutputStream到底有沒有緩衝區)

在這裡插入圖片描述
      FileOutputStream 檔案輸出流 ,無緩衝區,write一次,就往檔案裡面寫一次資料,效率較低。

BufferedOutputStream 快取輸出流, 快取區預設大小為8192byte,可通過建構函式定義。  write方法將資料寫入快取區中,快取區滿時寫入檔案。 flush方法將快取區的資料寫入檔案。高效。

作者:shennyuan
來源:CSDN
原文:https://blog.csdn.net/shennyuan/article/details/76607278
版權宣告:本文為博主原創文章,轉載請附上博文連結!
作者:shennyuan
來源:CSDN
原文:

https://blog.csdn.net/shennyuan/article/details/76607278
版權宣告:本文為博主原創文章,轉載請附上博文連結!
FileOutputStream中是沒有緩衝區的,(使用網路位元組流去輸出資料的時候也沒有),所以不需要使用flush方法資料也能寫入.
在客戶端向服務端輸出資料時,我並沒有使用flush(將緩衝區的資料重新整理到要寫入的檔案)或者close方法重新整理,但是資料仍然可以向服務端輸出。
字元輸出流是有緩衝區的,所以在寫入資料時需要flush或者close(close方法中包含flush的重新整理功能),跟緩衝流(Buffered)有關的位元組輸入輸出流是有緩衝區的,跟Writer相關的流也是有緩衝區,緩衝區一般只有輸出流才有,輸入流是沒有的,除了跟Buffered相關的輸入流。