java基礎類庫學習(六.2)輸入輸出 I/O流
前言
java的IO通過java.io包下的類和介面來支援,包括輸入輸出兩種流,每種流又分為位元組流和字元流,
輸入輸出流:位元組流和字元流
位元組流:以位元組為單位處理輸入輸出
字元流:以字元來處理輸入輸出
java7對原有io進行升級,提供了一系列全新的API放在NIO中
java物件的序列化機制
使用序列化機制能把java物件轉換成二進位制位元組流,將java物件儲存在磁碟中,或者在網路上傳輸java物件
------------------------------------------------------------------------------------------------------------------------------------
流:是從起源到接收的有序資料
java把所有的流型別都放在java.io包中
java提供了io流的抽象,java對io流進行抽象,封裝成io流類
java的io流一共有40多個類,都是從4個抽象基類派生(InputStream/Reader OutputStream/Writer)
InputStream/Reader:位元組輸入流 字元輸入流(每8位1讀 每16位1讀)
OutputStream/Writer:位元組輸出流 字元輸出流 (每8位1寫 每16位1寫)
流的分類
1輸入流/輸出流
輸入流: 由InputStream和Reader做抽象基類
只能從中讀資料,不能從中寫資料
輸出流:由OutputStream和Writer做抽象基類
只能向裡寫資料,不能從中寫資料
2位元組流/字元流
位元組流和字元流的用法幾乎一樣,區別在於所操作的資料單元不同,
位元組流操作的資料單元是8位的位元組,每8位1讀
字元流操作的資料單元是16位的字元,每16位1讀
3節點流/處理流
節點流/低階流:可以向一個特定的io裝置讀寫資料的流
處理流/高階流:用於對一個已存在的流進行連線或封裝