java核心類庫之-------I/O操作體系圖

IO流的分類,站在不同的角度,分類是不一樣的:
1>根據(jù)流向劃分:輸入流和輸出流
2>根據(jù)數(shù)據(jù)單位劃分:字節(jié)流和字符流
3>根據(jù)功能劃分:節(jié)點流和包裝流
IO四大基流(字節(jié)輸入流,字節(jié)輸出流,字符輸入流,字符輸出流)
四大基流都是抽象類,其他都是繼承與這四大基類的,不能創(chuàng)建四大基流的對象,只能創(chuàng)建其子類對象,無論是什么流都有close方法,用來關(guān)閉資源使用,如果不關(guān)閉資源文件會一直被占用,不能進行刪除,修改能其他操作。

字節(jié)流和字符流的選擇

字節(jié)流體系

字符流體系

創(chuàng)建IO流的模板流程

文件字節(jié)輸入輸出流
FileInputStream:文件字節(jié)輸入流
FileOutputStream:文件字節(jié)輸出流
FileOutputStream文件字節(jié)輸出流
new FileOutputStream(File file,boolean append): 構(gòu)造方法,第一個參數(shù)為路徑,指的是源文件的路徑,第二個參數(shù)為是否追加,指多次向同一個文件寫入時是否追加,true 追加,false不追加。
writer(int b):把一個字節(jié)寫入到文件中
writer(byte[] b):把byte數(shù)組中的字節(jié)全部寫入到文件中
writer(byte[] b,int off,int len):把byte數(shù)組中的從off索引處的len個字節(jié)

FileInputStream 文件字節(jié)輸入流

使用字節(jié)流完成文件的拷貝


文件字符輸入輸出流
FileReader
FileWriter
FileReader文件字符輸入流

FileWriter文件字符輸出流

flush操作

節(jié)點流和包裝流

包裝流流程圖

BufferedInputStream 和BufferedOutputStream 字節(jié)輸入輸出緩沖流

序列化:

數(shù)據(jù)流DataInputStream,DataOutputstream

隨機文件RandomAccessFile


管道流

NIO

總結(jié):
