天天看點

[Java 12 IO] IO 總結

12, IO 總結

 1, Java IO 各類間的繼承關系圖

 2, 在 Java 中使用 File 類表示檔案本身,可以直接用該類完成檔案的建立,删除等操作。

 3, RandomAccessFile 類可以從指定的位置開始讀取資訊,但是要求檔案中各個資料的儲存長度必須固定。

 4, 輸入/輸出流, 位元組流 : OutputStream, InputStream(未用到緩沖區)。字元流 : Writer, Reader (使用到緩沖區)

 5, 在 IO 包中,可以使用 OutputStreamWriter 和 InputStreamReader 完成字元流與位元組流之間的轉換操作

 6, 使用 ByteArrayInputStream 和 ByteArrayOutputStream 類 可以對記憶體進行輸入/輸出操作

 7, 線上程之間進行輸入/輸出操作,主要使用 PipedOutputStream 和 PipedInputStream 類

 8, 在 IO 中輸出,使用列印流 (PrintStream, PrintWriter),可以友善的輸出各種類型的資料。

 9, System 類提供了 3 個支援 IO 操作的常量。即 : out, err, in

     System.out, System.err, System.in,   --  setOut, setIn, setErr

 10, BufferReader 可以直接從緩沖區中讀取資料

 11, Scanner 類,可以友善地進行輸入流操作

 12, 資料操作流提供了與平台無關的資料操作, 主要 : DataOutputStream 和 DataInputStream

 13, 使用合并流 (SequenceInputStream) 可以将兩個檔案的内容進行合并

 14, 其他 : 壓縮流, 回退流, 

 15, 造成亂碼的根本原因在于 : 程式編碼 與 本地編碼 的不統一

 16, 對象序列化可以将記憶體中的對象轉化為二進制資料,但對象所在的類必須實作 Serializable 接口。transient,此屬性内容不會被序列化

 17, 對象的輸入輸出主要使用 ObjectInputStream 和 ObjectOutputStream 類。