BufferedInputStream 比 InputStream快的原因(java)
阿新 • • 發佈:2018-11-09
InputStream:每次從硬碟讀入一個字到中轉站, 再寫入目的檔案(硬碟)
BufferStream:一次讀入n個位元組到輸入換成區,接著經中轉站一個個寫入到輸出緩衝區,輸入緩衝區為空時再次從硬碟讀入批量資料,同理輸出緩衝區滿了以後再批量寫入到目的檔案(硬碟)。
如此使用BufferedStream可以減少訪問硬碟的次數,速度大幅提升。
總結:
1、
節點流:FileInputStream,FileOutputStream
處理流:BuffereInputStream,BufferOutputStream
2、處理流的好處:提高效能。
3、如何建立處理流:
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(new File("e:/xxx.txt"));//檔名隨便舉例
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(new File("e:/yyy.txt"));
4、關閉流:只要關閉高層流即可,底層流可以不關閉。(關閉高層流會關閉底層流)
5、何時將輸出緩衝區的內容更新到檔案中。(重新整理flush())
a、緩衝區慢的時候
b、關閉流的時候
c、呼叫flush()