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 類。