為什麼部分IO流在呼叫Close()方法之前要先呼叫flush()方法
阿新 • • 發佈:2019-02-01
很多人可能一直比較糾結為什麼有的帶有緩衝功能的流在CLose()方法之前要先呼叫flush()方法 ,
我們先大概說一下帶緩衝功能的流的原理 : 如果是需要頻繁的對檔案進行讀或寫 , 普通流的速度會比較慢 , 而緩衝流是在普通流的基礎上多了一個緩衝區 , 當讀或寫的資料達到一定量 , 再自動往檔案裡進行讀寫 , 如果沒有裝滿緩衝區檔案就已經讀(寫)完畢 , 那麼這個時候已經讀寫到緩衝區的資料需要手動使其朝目標檔案進行讀寫.
這個手動的過程 , 就是我們這裡提到的flush()方法 .
換句話說 , 如果是檔案讀寫完的同時緩衝區剛好裝滿 , 那麼緩衝區會把裡面的資料朝目標檔案自動