系統學習 Java IO (十六)----這麼多類,應該用哪個?
阿新 • • 發佈:2018-11-24
### Java IO目的和功能
Java IO 包含 InputStream,OutputStream,Reader 和 Writer 類的許多子類。 原因是,所有這些子類都在解決各種不同的目的。 所涉及的目的總結如下:
- 網路訪問
- 內部緩衝區訪問
- 執行緒間通訊(管道)
- 緩衝
- 過濾
- 解析
- 閱讀和寫作文字(Reader/Writer)
- 讀寫原始資料(long,int等)
- 讀和寫物件
Java IO類概述表
在討論了 Java IO 類所針對的源,目標,輸入,輸出和各種 IO 目的之後,這裡列出了大多數(不是全部)Java IO 類除以輸入,輸出,基於位元組或基於字元的任何目的,以及任何他們可能正在解決的更具體的目的,如緩衝,解析等。
資料型別 | 基於位元組的 Input | 基於位元組的 Output | 基於字元的 Input | 基於字元的 Output |
---|---|---|---|---|
基礎 | InputStream | OutputStream | Reader 、 InputStreamReader | Writer、OutputStreamWriter |
陣列 | ByteArrayInputStream | ByteArrayOutputStream | CharArrayReader | CharArrayWriter |
Files | FileInputStream、RandomAccessFile | FileOutputStream、RandomAccessFile | FileReader | FileWriter |
管道 | PipedInputStream | PipedOutputStream | PipedReader | PipedWriter |
緩衝 | BufferedInputStream | BufferedOutputStream | BufferedReader | BufferedWriter |
過濾 | FilterInputStream | FilterOutputStream | FilterReader | FilterWriter |
解析 | PushbackInputStream、StreamTokenizer | PushbackReader、LineNumberReader | ||
字串 | StringReader | StringWriter | ||
資料 | DataInputStream | DataOutputStream | ||
資料 - 格式化 | PrintStream | PrintWriter | ||
物件 | ObjectInputStream | ObjectOutputStream | ||
組合多個流 | SequenceInputStream |
根據需要處理的資料從上表選擇,可以參考別人是怎麼用的。