1. 程式人生 > >IO流(一)之IO流綜述

IO流(一)之IO流綜述

io流 字節數 img 另一個 管道 技術 bject nbsp 機器

IO流按照輸入輸出,分為輸入流和輸出流。按照數據類型分為:字節流和字符流。

1.字節流

字節流顧名思義,傳遞的數據類型為字節。字節流分為兩種,字節輸入流(InputStream)和字節輸出流(OutputStream)。

1.1字節輸入流

InputStream是所有字節輸入流的超類。下圖是字節輸入流的框架:

技術分享圖片

ByteArrayInputStream是字節數組輸入流。

PipedInputStream 是管道輸入流,和PipedOutputStream配套使用,用於線程間的通信。

FilterInputStream是過濾輸入流,用來裝飾其他輸入流。FilterInputStream有兩個子類:DataInputStream和BufferedInputStream。

DataInputStream是數據輸入流,它“允許應用程序以與機器無關方式從底層輸入流中讀取基本java數據類型數據”。

BufferedInputStream是緩存輸入流,作用是為另一個對象增加緩存功能。

FileInputStream是文件輸入流,用於對文件讀取操作。

ObjectInputStream是對象輸入流,和ObjectOutputStream一起,提供“基本數據或對象”的持久存儲。

1.2自己輸出流

OutputStream是所有字節輸出流的超類。下圖是字節輸出流的框架:

技術分享圖片

ByteArrayOutputStream是字節數組輸出流,寫入字節數組輸出流的內容被寫進一個字節數組。可以通過toByteArray()和toString()獲取寫入數據。

PipedOutputStream是管道輸出流,和PipedInputStream聯合使用,用於線程間的通信。

FilterOutputStream是過濾輸出流,用來裝飾其他輸出流。子類有:DataOutputStream、BufferedOutputStream、PrintStream。

DataOutputStream是數據輸出流,支持“應用程序以與機器無關方式向底層輸出流中寫入java基本數據類型數據”。

BufferedOutputStream是緩沖輸出流,用來裝飾其他輸出流,使其具有緩沖功能。

PrintStream是打印輸出流,用來裝飾其他輸出流,使他們能夠方便的打印各種數據值表示形式。

FileOutputStream是文件輸出流,使文件具有寫入功能。

ObjectOutputStream是文件輸出流,和ObjectStream一起,提供對“基本數據和對象”的持久存儲。

IO流(一)之IO流綜述