1. 程式人生 > >java.io中常用的流的功能及特性

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:

特點:可以將多個讀取流合併成一個流。這樣操作起來很方便。

原理:其實就是將每一個讀取流物件儲存到一個集合中。最後一個流物件結尾作為這個流的結尾。

作用:可以用於多個數據的合併。