IO流(一)之IO流綜述
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流綜述