Java之字元流 字元緩衝流

2021-08-03 07:27:26 字數 3240 閱讀 1804

繼承關係圖

- 字元流

- 字元輸入流 reader抽象類

- inputstreamreader 輸入操作的轉換流

- filereader 用來操作檔案的字元輸入流(簡便的流)

- 字元輸出流 writer抽象類

- outputstreamwriter 輸出操作的轉換流

-filewriter 用來操作檔案的字元輸出流(簡便的流)

字元輸入流reader

用於讀取字元流的抽象類。子類必須實現的方法只有 read(char, int, int) 和 close()。常用已知子類如:filereader、bufferedreader。

方法:int read()讀取單個字元。

int read(char cbuf)將字元讀入陣列。

int read(char cbuf, int off, int len)將字元讀入陣列的某一部分。

子類filereader

構造方法:

filereader(file file)在給定從中讀取資料的 file 的情況下建立乙個新 filereader。

filereader(string filename)在給定從中讀取資料的檔名的情況下建立乙個新 filereader。

使用filereader讀取包含中文的檔案,例項:

public class charstreamdemo 	

//讀取中文

public static void readcntext() throws ioexception

} //寫中文

public static void writecntext() throws ioexception

}

字元輸出流writer

writer是寫入字元流的抽象類。常用子類為bufferedwriter、filewriter。

常用方法write:

void write(char cbuf)寫入字元陣列。

void write(char cbuf, int off, int len)寫入字元陣列的某一部分。

void write(int c)寫入單個字元。

void write(string str)寫入字串。

void write(string str, int off, int len)寫入字串的某一部分。

子類filewriter(outputstreamwriter類**換流)的子類)

其構造方法:

filewriter(file file)根據給定的 file 物件構造乙個 filewriter 物件。

filewriter(string filename)根據給定的檔名構造乙個 filewriter 物件。

寫入字元到檔案中,先進行流的重新整理,再進行流的關閉。例項:

public class filewriterdemo 

}

字元流複製文字:

public class copytextfiletest 

public static void copytextfile() throws ioexception

/*2,迴圈讀寫操作。效率低。

int ch = 0;

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

*///3,關閉資源。

fw.close();

fr.close();

}}

字元緩衝流

字元緩衝輸入流 bufferedreader

字元緩衝輸出流 bufferedwriter

完成文字資料的高效的寫入與讀取的操作

字元緩衝輸出流 bufferedwriter:

有乙個特殊方法:newline();//作用是寫入乙個行分隔符。等同於在寫入過程中,在前乙個元素後面加上"\r\n",或者在後乙個新增元素前面加上"\r\n"。

將文字寫入字元輸出流,緩衝各個字元,從而提供單個字元、陣列和字串的高效寫入。

/*

* bufferedwriter 字元緩衝輸出流

* 方法

* public void newline()寫入乙個行分隔符

* * 需求: 通過緩衝輸出流寫入資料到檔案

* 分析:

* 1,建立流物件

* 2,寫資料

* 3,關閉流

* */

public class bufferedwriterdemo

//3,關閉流

out.close();

}}

字元緩衝輸入流 bufferedreader

有乙個特殊方法:public string

readline()讀取乙個文字行,包含該行內容的字串,不包含任何行終止符,如果已到達流末尾,則返回 null。

例項

/*

* bufferedreader 字元緩衝輸入流

* * 方法:

* string readline()

* 需求:從檔案中讀取資料,並顯示資料

*/public class bufferedreaderdemo

//3,關閉流

in.close();

}}

緩衝流之字元緩衝流

字元緩衝流 字元緩衝輸入流 bufferedreader 字元緩衝輸出流 bufferedwriter 完成文字資料的高效的寫入與讀取的操作 1字元緩衝輸出流 bufferedwriter void newline 根據當前的系統,寫入乙個換行符 public static void method0...

位元組流 字元流 位元組緩衝流 字元緩衝流

位元組讀流 fileinputstream fis new fileinputstream file byte b new byte 1024 int len 0 while len fis.read b 1 字元讀流 filereader fr new filereader file char c...

緩衝字元流

一 緩衝的字元流bufferedreader bufferedwriter 採用緩衝處理是為了提高效率,如果沒有快取,例如filereader物件,每次呼叫read 方法進行讀操作時,都會直接去檔案中讀取位元組,轉換成字元並返回,這樣頻繁的讀取檔案效率很低。緩衝的字元流的出現提高了對流的操作效率,原...