IO 字元流 位元組流

2021-06-08 00:17:43 字數 1795 閱讀 1015

io流

流按運算元據分為兩種:位元組流與字元流

流按流向分為:輸入流、輸出流

位元組流的抽象基類:

inputstream

outputstream

字元流的抽象基類:

reader

witer

這四個類派生出來的子類名稱都是以其父類名作為子類名的字尾。

字元流:寫入流writer

用於操作檔案的writer子類物件,filewriter,字尾名是父類名,字首名是該流物件的功能。

建立乙個filewriter物件,該物件一被初始化就必須要有被操作的檔案。而且該檔案會被建立到指定的目錄下。如果該目錄下已有同名檔案,將被覆蓋。

filewriter fw = new filewriter(「f:\\test.txt」);

構造方法需要捕捉異io異常。

呼叫write方法,將字串寫入流中。

fw.writer(「asdfdsasfdsa」);

重新整理流物件中的緩衝中的資料,將資料寫到目的地中。

fw.flush();

fw.close();

關閉流資源,關閉之前會重新整理一次內部的緩衝中的資料。將資料刷到目的地中。和flush區別:flush重新整理後,流可以繼續使用,close重新整理後,會將流關閉。 io

異常的處理方式

filewriterfw = null;

trycatch(ioexceptione)finallycatch(ioexception e) }

已有檔案內容的續寫

在filewriter的構造方法中,加入true引數代表不覆蓋已有的檔案,並在已有檔案的末尾處進行資料的續寫。

\r\n

字元流:寫入流reader

filereader

子類,例項化時需指定要讀取的檔案。

第一種方式:通過字元讀取

建立乙個檔案讀取的流物件,和指定名稱的檔案相關聯。要保證該檔案是已經存在的,如果不存,會發生異常:filenotfoundexception

filereader fr = new filereader(「d:\\test.txt」);

呼叫讀取流物件的read方法。

資料型別

變數名=fr.read();

read()

:一次唯讀乙個字元,而且會自動往下讀。如果已到達流的末尾,則返回-1

while((ch=fr.read())!=-1)

第二種方式:通過字元陣列進行讀取

定義乙個字元陣列,用於儲存讀到字元。該read(char)返回的是讀到字元個數。

filereader fr = new filereader(「d:\\test.txt」);

char ch = new char[3];

int num=0;

while((num=fr.read(ch))!=-1)

fr.close();

複製文字檔案,從c盤拷貝至d盤。

在d盤建立乙個檔案,用於儲存c盤檔案中的資料。

定義讀取流和c盤檔案關聯。

通過不斷的讀寫完成資料儲存。

關閉資源

filereader fr = new filereader("d:\\aa.txt");

filewriter fw = new filewriter("d:\\tmp\\aa_copy.txt");

char ch = new char[1024];

int num=0;

while((num = fr.read(ch))!=-1)

fw.close();

fr.close();

IO 字元流 位元組流

直接和檔案互動,沒有快取區。所以即便沒有close 資料也已寫入檔案中。操作的是位元組 byte 可對任何檔案進行讀寫操作 private static void write throws ioexception private static void read throws ioexception...

I O流 字元流和位元組流

一 位元組流 1 位元組輸出流 outputstream 往指定檔案寫資料 常用方法 close 釋放資源 flush 重新整理流,並強制寫出所有的緩衝的輸出位元組 write byte b 將指定的 byte 陣列寫入到輸出流 write byte b,int off,int len 將指定byt...

io位元組流和字元流

2014 11 30 晚上 位元組流system.in是基本的 inputstream 流,system.out 是基本的 outputstream 流,如果要實現字元流從控制台讀入 bufferedreader bufferedreader new bufferreader reader inpu...