java.io中常用的流的功能及特性
IO常用流的功能及特性:
輸入流inputStream:只能從中讀取位元組資料,而不能向其寫出資料
輸出流OutputStream:只能向其寫入位元組資料,而不能從中讀取資料
輸入流inputStream:
1. dataOutputStream建立一個新的資料輸出流,將資料寫入指定基礎輸出流。
2. printStream是一個位元組列印流
3. bufferedOutputStream:實現緩衝。
4. FileOutputStream是用於將資料寫入 File 或 FileDescriptor 的輸出流,是用於寫入諸如影象資料之類的原始位元組的流。
5. ObjectOutputStream;用於
6. pipedOutputStream建立尚未連線到管道輸入流的管道輸出流。
7. byteArrayOutputStream實現了一個輸出流,其中的資料被寫入一個 byte 陣列。
輸出流OutputStream:
1. pushBackInputStream為另一個輸入流新增效能,
2. BufferedInputStream為另一個輸入流新增一些功能
3. lineNumberInputStream是一個輸入流過濾器,它提供跟蹤當前行號的附加功能
4. FileInputStream負責從檔案或另一些更特殊的地方讀入位元組資料。
5. ObjectInputStream對以前使用 ObjectOutputStream
7. SequenceInputStream表示其他輸入流的邏輯串聯。它從輸入流的有序集合開始,並從第一個輸入流開始讀取,直到到達檔案末尾,接著從第二個輸入流讀取,依次類推,直到到達包含的最後一個輸入流的檔案末尾為止。
8. StringBufferInputStream建立一個字串輸入流
9. ByteArrayInputStream建立一個涵內部緩衝區的流
Reader:用於讀取字元流的抽象類。子類必須實現的方法只有 read(char[], int, int) 和 close()。
1.FileReader用於處理檔案的字元讀取流物件。
2.LineNumberReader使用預設輸入緩衝區的大小建立新的行編號
3.pushBackReader允許將字元推回到流的字元流 reader
4.PipedReader建立傳送的字元輸入流。
5.CharArrayReader實現一個可用作字元輸入流的字元緩衝區
6.StringReader是一個字串的字元流
7.InputStreamReader位元組到字元的橋樑,可從底層輸入流讀取一個或多個位元組
8.BufferedReader建立一個緩衝字元輸入流
9.FilterReader用於讀取已過濾的字元流的抽象類,提供一些將所有請求傳遞給所包含的流的預設方法
Writer寫入字元流的抽象類。子類必須實現的方法僅有 write(char[], int, int)、flush() 和 close()。
1. FileWriter處理檔案的字元寫入流物件。
2. BufferedWriter將文字寫入字元輸出流,緩衝各個字元,從而提供單個字元、陣列和字串的高效寫入。
3. CharArrayWriter實現一個可用作 Writer 的字元緩衝區
4. StringWriter一個可以用它回收在字串緩衝區中的輸出來構造字串的字元流。 關閉 StringWriter 無效。此類中的方法在關閉該流後仍可被呼叫,而不會產生任何 IOException。
5. OutputStreamWriter字元到位元組的橋樑。
6. PrintWriter負責將位元組“組裝”成更有用的資料型別。
7. PipedWriter傳送的字元輸出流。建立一個尚未連線到傳送 reader 的傳送 writer。
8. FilterWriter用於寫入已過濾的字元流的抽象類。
序列流,也稱為合併流——SequenceInputStream:
特點:可以將多個讀取流合併成一個流。這樣操作起來很方便。
原理:其實就是將每一個讀取流物件儲存到一個集合中。最後一個流物件結尾作為這個流的結尾。
作用:可以用於多個數據的合併。