Java IO8:IO簡單總結


字節流、字符流繼承關系

前幾篇文章講解了字節流、字符流的使用,不過Java提供給用戶的流類遠不止此,限於篇幅原因,沒辦法一一講解,而且也沒有必要一一講解,就像我在寫博客的時候多次提到的,有問題的時候學會查JDK API即可。OK,雖然不一一講解每種流,我自己簡單畫了幾張UML圖,說明一下字節輸入流、字節輸出流、字符輸入流、字符輸出流這四個流類的子類繼承關系。

1、字節輸入流

2、字節輸出流

3、字符輸入流

4、字符輸出流

 

總結一下流類的使用

1、File是一些文件/文件夾操作的源頭,File代表的就是文件/文件夾本身,因此無論如何,使用IO的第一步是建議開發者根據路徑實例化出一個File

2、考慮使用字符流還是字節流。操作文本一般使用字符流,即Reader和Writer;操作字節文件使用字節流,即InputStream和OutputStream

3、選擇使用輸入流還是輸出流。把內容從文件讀入Java內存使用輸入流,即Reader和InputStream;把內容從Java內存讀到文件使用輸出流,即Writer和OutputStream

4、使用字符流使用BufferedReader和BufferedWriter,它們的構造函數中的參數分別是Reader和Writer,因此既可以實例化出FileReader和FileWriter,也可以實例化出InputStreamReader和OutputStreamWriter,作為構造函數的參數傳入BufferedReader和BufferedWriter

5、FileInputStream和FileOutputStream可以直接操作文件的讀寫,它們沒有做緩存

6、ObjectOutputStream和ObjectInputStream,它們分別以OutputStream和InputStream作為構造函數的參數,因此可以實例化出FileOutputStream和FileInputStream並傳入

另外,請知,IO是Java的23種設計模式中的裝飾器模式的典型應用,這在講解設計模式的時候會專門講到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM