1. 程式人生 > >java基礎類庫學習(六.2)輸入輸出 I/O流

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裝置讀寫資料的流

處理流/高階流:用於對一個已存在的流進行連線或封裝