標籤:處理 out 抽象 pipe 建立 轉換 訪問 html 管道
Java輸入/輸出流體系中常用的流分類(表內容來自java瘋狂講義)
註:下表中帶底線的是抽象類別,不能建立對象。粗體部分是節點流,其他就是常用的處理流。
| 流分類 |
使用分類 |
位元組輸入資料流 |
位元組輸出資料流 |
字元輸入資料流 |
字元輸出資料流 |
| |
抽象基類 |
InputStream |
OutputStream |
Reader |
Writer |
| 節點流 |
訪問檔案 |
FileInputStream |
FileOutStream |
FileReader |
FileWriter |
| 訪問數值 |
ByteArrayInputStream |
ByteArrayOutStream |
CharArrayReader |
CharArrayWriter |
| 訪問管道 |
PipedInputStream |
PipedOutStream |
PipedReader |
PipedWriter |
| 訪問字串 |
|
|
StringReader |
StringWriter |
| 處理流 |
緩衝流 |
BufferedInputStream |
BufferedOutputStream |
BufferedReader |
BufferedWriter |
| 轉換流 |
|
|
InputStreamReader |
OutputStreamWriter |
| 物件流程 |
ObjectInputStream |
ObjectOutputStream |
|
|
| 抽象基類(過濾) |
FilterInputStream |
FilterOutputStream |
FilterReader |
FilterWriter |
| 列印流 |
|
PrintStream |
|
PrintWriter |
| 推回輸入資料流 |
PushbackInputStream |
|
PushbackReader |
|
| 特殊流 |
DataInputStream |
DataOutputStream |
|
|
——————————————————————————————————————————————————————————————————
總結:
1.Java IO是採用的是裝飾模式,即採用處理流來封裝節點流的方式,來達到代碼通用性。
2.處理流和節點流的區分方法,節點流在建立時需要一個資料來源(檔案、網路)作為參數,而處理流需要一個節點流作為參數。
3.處理流的作用就是提高代碼通用性,編寫代碼的便捷性,提高效能。
4.節點流都是對應抽象基類的實作類別,它們都實現了抽象基類的基礎讀寫方法。其中read()方法如果返回-1,代表已經讀到資料來源末尾。
轉載自(http://www.cnblogs.com/moonpool/p/5488463.html)
java io 流分類表