標籤:iter 基礎 流向 cto bubuko 目的 裝飾器 TE 輸出
一:串流設計的概念
Java 將輸入/輸出抽象化為串流,資料有來源及目的地,銜接兩者的是串流對象。比喻
來說,資料就好比水,串流好比水管,通過水管的銜接,水由一端流向另一端。
在不使用 InputStream 與 OutputStream 時,必須使用 close() 方法關閉串流。
二:串流繼承架構
1.InputStream 的常用類繼承架構:
2.OutputStream 的常用類繼承架構:
註:FileInputStream、FileOutputStream 在讀取、寫入文檔時,是以位元組為單位
三:串流處理裝飾器
常用的打包器有具備緩衝區作用的 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()等方法。
Java基礎之IO架構