標籤:
Java中IO操作主要是指使用Java進行輸入,輸出操作,Java中所有的操作類都存放在Java.io包中,在使用時需要匯入此包。
在整個Java.io包中最重要的就是5個類和一個介面。5個類指的是File、OutputStream、InputStream、Writer、Reader;一個介面指的是Serializable.掌握了這些IO的核心操作那麼對於Java中的IO體系也就有了一個初步的認識了。
一、java.io包中流的分類
Java.io包中定義了多個流類型類實現輸入輸出的功能,從不同的角度可以分為:
~按照資料流方向的不同可以分為輸入資料流和輸出資料流。
~按照按照資料處理單位的不同可以分為位元組流和字元流。
J2Sdk所提供的所有流類型位於Java.io包內部分別都繼承以下四種抽象流類型,
二、Java中IO流的體繫結構
下面根據資料處理單位不同來分析Java中流的體繫結構
三、IO流中5大類的特徵
1、InputStream
InputStream 為位元組輸入資料流,它本身為一個抽象類別,必須依靠其子類實現各種功能,此抽象類別是表示位元組輸入資料流的所有類的超類。 繼承自InputStream 的流都是向程式中輸入資料的,且資料單位為位元組(8bit);下面是InputStream所屬的子類:
~ FileInputStream : 從檔案系統中的某個檔案中獲得輸入位元組。哪些檔案可用取決於主機環境。FileInputStream 用於讀取諸像資料之類的原始位元組流。
2、OutputStream
為位元組輸出資料流,是整個IO包中位元組輸出資料流的最大父類,OutputStream類也是一個抽象類別,要使用此類必須通過子類執行個體化對象。
其子類有:
3、Writer
寫入字元流的抽象類別。子類必須實現的方法僅有 write(char[], int, int)、flush() 和 close()。但是,多數子類將重寫此處定義的一些方法,以提供更高的效率和/或其他功能。 其子類如下:
~BufferedWriter :
將文本寫入字元輸出資料流,緩衝各個字元,從而提供單個字元、數組和字串的高效寫入。
可以指定緩衝區的大小,或者接受預設的大小。在大多數情況下,預設值就足夠大了。
4、Reader
用於讀取字元流的抽象類別。子類必須實現的方法只有 read(char[], int, int) 和 close()。但是,多數子類將重寫此處定義的一些方法,以提供更高的效率和/或其他功能。 子類有:
Java之IO類的體繫結構