1. 程式人生 > >BufferedInputStream 比 InputStream快的原因(java)

BufferedInputStream 比 InputStream快的原因(java)

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()