Java中BufferedReader和BufferedWriter使用方式
FileWriter/FileReader
介紹:FileWriter 類從 OutputStreamWriter 類繼承而來。該類按字符向流中寫入數(shù)據(jù)。
構造:參數(shù)為 File 對象
FileWriter(File file)
參數(shù)是文件的路徑及文件名(默認是當前執(zhí)行文件的路徑)
FileWrite(String filename)
等價于:
OutputStreamWriter out = new OutputStreamWriter( new FileOutputStream(File file))
方法:
| 序號 | 方法描述 |
|---|---|
| 1 | public void write(int c) throws IOException 寫入單個字符c。 |
| 2 | public void write(char [] c, int offset, int len) 寫入字符數(shù)組中開始為offset長度為len的某一部分。 |
| 3 | public void write(String s, int offset, int len) 寫入字符串中開始為offset長度為len的某一部分。 |
栗子:
public class Main {
public static void main(String[] args) throws Exception {
File file = new File("d:/abc/f10");
// 創(chuàng)建文件
file.createNewFile();
// creates a FileWriter Object
FileWriter writer = new FileWriter(file);
// 向文件寫入內容
writer.write("This\n is\n an\n example\n");
writer.flush();
writer.close();
// 創(chuàng)建 FileReader 對象
FileReader fr = new FileReader(file);
char[] a = new char[50];
fr.read(a); // 從數(shù)組中讀取內容
for (char c : a)
System.out.print(c); // 一個個打印字符
fr.close();
}
}運行程序會在 D 盤 abc 文件夾下創(chuàng)建 f10,同時打印內容如下:

BufferedReader/BufferedWriter
介紹:BufferedReader 類從字符輸入流中讀取文本并緩沖字符,以便有效地讀取字符,數(shù)組和行。
可以通過構造函數(shù)指定緩沖區(qū)大小也可以使用默認大小。對于大多數(shù)用途,默認值足夠大。
由 Reader 構成的每個讀取請求都會導致相應的讀取請求由基礎字符或字節(jié)流構成,建議通過 BufferedReader 包裝 Reader 的實例類以提高效率。(Reader 構成的對象是字符對象,每次的讀取請求都會涉及到字節(jié)讀取解碼字符的過程,而 BufferedReader 類中有設計減少這樣的解碼次數(shù)的方法,進而提高轉換效率)
創(chuàng)建對象:
BufferedReader in = new BufferedReader(new FileReader(“foo.in”));
方法BufferedReader 由 Reader 類擴展而來,提供通用的緩沖方式文本讀取,而且提供了很實用的readLine(),讀取一個文本行,從字符輸入流中讀取文本,緩沖各個字符,從而提供字符、數(shù)組和行的高效讀取。
readLine()讀取一行字符串,不含末尾換行符,讀取結束再讀取返回 null。
栗子1:寫入
BufferedWriter bufw = new BufferedWriter(new FileWriter("d:/abc/f11"));
bufw.write("This");
bufw.newLine();
bufw.newLine();
bufw.write("is");
bufw.write("an");
bufw.write("example");
//使用緩沖區(qū)中的方法,將數(shù)據(jù)刷新到目的地文件中去。
bufw.flush();
//關閉緩沖區(qū),同時關閉了fw流對象
bufw.close();運行結果會在 D 盤 abc 文件夾下新建 f11 文件
栗子2:讀取
//相接的字符流,只要讀取字符,都要做編碼轉換
//只要使用字符流,必須要有轉換流
BufferedReader in = new BufferedReader(
new InputStreamReader(
new FileInputStream("d:/abc/f11")));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();運行結果:

到此這篇關于Java中BufferedReader和BufferedWriter使用方式的文章就介紹到這了,更多相關Java BufferedReader內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java多線程循環(huán)柵欄CyclicBarrier正確使用方法
這篇文章主要介紹了Java多線程循環(huán)柵欄CyclicBarrier正確使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
基于Spring Boot使用JpaRepository刪除數(shù)據(jù)時的注意事項
這篇文章主要介紹了Spring Boot使用JpaRepository刪除數(shù)據(jù)時的注意事項,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
Spring Boot 中的 @EnableDiscoveryClient 注解
@EnableDiscoveryClient 注解是 Spring Boot 應用程序注冊到服務注冊中心的關鍵注解,這篇文章主要介紹了Spring Boot 中的 @EnableDiscoveryClient 注解,需要的朋友可以參考下2023-07-07

