java 8 io_Java IO8:IO简单总结
字節(jié)流、字符流繼承關(guān)系
前幾篇文章講解了字節(jié)流、字符流的使用,不過Java提供給用戶的流類遠(yuǎn)不止此,限于篇幅原因,沒辦法一一講解,而且也沒有必要一一講解,就像我在寫博客的時(shí)候多次提到的,有問題的時(shí)候?qū)W會(huì)查JDK API即可。OK,雖然不一一講解每種流,我自己簡單畫了幾張UML圖,說明一下字節(jié)輸入流、字節(jié)輸出流、字符輸入流、字符輸出流這四個(gè)流類的子類繼承關(guān)系。
1、字節(jié)輸入流
2、字節(jié)輸出流
3、字符輸入流
4、字符輸出流
總結(jié)一下流類的使用
1、File是一些文件/文件夾操作的源頭,File代表的就是文件/文件夾本身,因此無論如何,使用IO的第一步是建議開發(fā)者根據(jù)路徑實(shí)例化出一個(gè)File
2、考慮使用字符流還是字節(jié)流。操作文本一般使用字符流,即Reader和Writer;操作字節(jié)文件使用字節(jié)流,即InputStream和OutputStream
3、選擇使用輸入流還是輸出流。把內(nèi)容從文件讀入Java內(nèi)存使用輸入流,即Reader和InputStream;把內(nèi)容從Java內(nèi)存讀到文件使用輸出流,即Writer和OutputStream
4、使用字符流使用BufferedReader和BufferedWriter,它們的構(gòu)造函數(shù)中的參數(shù)分別是Reader和Writer,因此既可以實(shí)例化出FileReader和FileWriter,也可以實(shí)例化出InputStreamReader和OutputStreamWriter,作為構(gòu)造函數(shù)的參數(shù)傳入BufferedReader和BufferedWriter
5、FileInputStream和FileOutputStream可以直接操作文件的讀寫,它們沒有做緩存,字節(jié)流的緩存可以使用BufferedInputStream和BufferedOutputStream
6、ObjectOutputStream和ObjectInputStream,它們分別以O(shè)utputStream和InputStream作為構(gòu)造函數(shù)的參數(shù),因此可以實(shí)例化出FileOutputStream和FileInputStream并傳入
另外,請(qǐng)知,IO是Java的23種設(shè)計(jì)模式中的裝飾器模式的典型應(yīng)用,這在講解設(shè)計(jì)模式的時(shí)候會(huì)專門講到。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的java 8 io_Java IO8:IO简单总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse maven jetty插
- 下一篇: Java编写飞机大战(超级详细的完整版)