我經歷了一些關於Java IO的文件,只是想確認我是否可以得到這個權利:緩衝和無緩衝流在Java中
無緩衝輸入流:的FileInputStream,InputStreamReader的,的FileReader
無緩衝輸出流:FileOutputStream中,OutputStreamWriter,FileWriter的
緩衝輸出流:爲PrintStream,PrintWriter的
另外,我們有BufferedInputStream,BufferedOutputStream,BufferedReader和BufferedWriter流來將未緩衝的流轉換成緩衝版本。
最後,我觀察到對於字符流,即字符流。 InputStreamReader,FileReader,OutputStreamWriter,FileWriter,一個內部字節緩衝區在它們被髮送到流之前被維護。這個字節緩衝區不在我們的控制之下。因此,對於字符流,緩衝是指用於存儲進入和離開程序的字符的高級字符緩衝區。
我說的一切都正確嗎?
P.S. - 據我所知,這個緩衝問題是有些依賴於實現的,但我只是想確認的javadoc在說什麼經驗
聽起來或多或少是對的,但是你應該依賴它在Javadoc中所說的內容,而不是其他人所說的。實施必須按照Javadoc中的說法進行。你遺漏了'ObjectOutputStream',它們都被緩衝了,這取決於它究竟在做什麼。您也忽略了過濾器流和讀者。 – EJP
還沒有去那麼遠;) – Chatterjee
我喜歡這個問題。沒有問題要解決,只是尋求理解。這很令人耳目一新。 –