一:串流設計的概念架構
Java 將輸入/輸出抽象化爲串流,數據有來源及目的地,銜接二者的是串流對象。比喻
來講,數據就比如水,串流比如水管,經過水管的銜接,水由一端流向另外一端。設計
在不使用 InputStream 與 OutputStream 時,必須使用 close() 方法關閉串流。orm
二:串流繼承架構對象
1.InputStream 的經常使用類繼承架構:繼承
2.OutputStream 的經常使用類繼承架構:文檔
注:FileInputStream、FileOutputStream 在讀取、寫入文檔時,是以字節爲單位it
三:串流處理裝飾器form
經常使用的打包器有具有緩衝區做用的 BufferedInputStream、BufferedOutputStream,具有數據轉換處理做用的 DataInputStream、DataOutputStream,具有對象串行化能力ObjectInputStream、打包
ObjectOutputStream 等。因爲這些類自己並無改變 InputStream、OutputStream 的行爲,只不過在InputStream 取得數據以後,再作一些加工處理,或者是要輸出時作一些加工處理,再交由OutputStream 真正進行輸出,所以又稱它們爲裝飾器(Decorator)。方法
幾個經常使用的串流裝飾器類:
BufferedInputStream 與 BufferedOutputStream。DataInputStream 與 DataOutputStream。ObjectInputStream 與 ObjectOutputStream。
四:字符處理類
1.Reader 與 Writer 繼承架構
2.字符處理裝飾器
InputStreamReader 與 OutputStreamWriter
BufferedReader 與 BufferedWriter
PrintWriter:
PrintWriter 與 PrintStream 使用上極爲相似,不過除了能夠對 OutputStream 打包以外, PrintWriter 還能夠對 Writer 進行打包,提供 print()、println()、format()等方法。