Java中BufferedReader和BufferedWriter使用方式
FileWriter/FileReader
介紹:FileWriter 類從 OutputStreamWriter 類繼承而來。該類按字符向流中寫入數(shù)據(jù)。
構(gòu)造:參數(shù)為 File 對象
FileWriter(File file)
參數(shù)是文件的路徑及文件名(默認(rèn)是當(dāng)前執(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); // 向文件寫入內(nèi)容 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ù)組中讀取內(nèi)容 for (char c : a) System.out.print(c); // 一個個打印字符 fr.close(); } }
運行程序會在 D 盤 abc 文件夾下創(chuàng)建 f10,同時打印內(nèi)容如下:
BufferedReader/BufferedWriter
介紹:BufferedReader 類從字符輸入流中讀取文本并緩沖字符,以便有效地讀取字符,數(shù)組和行。
可以通過構(gòu)造函數(shù)指定緩沖區(qū)大小也可以使用默認(rèn)大小。對于大多數(shù)用途,默認(rèn)值足夠大。
由 Reader 構(gòu)成的每個讀取請求都會導(dǎo)致相應(yīng)的讀取請求由基礎(chǔ)字符或字節(jié)流構(gòu)成,建議通過 BufferedReader 包裝 Reader 的實例類以提高效率。(Reader 構(gòu)成的對象是字符對象,每次的讀取請求都會涉及到字節(jié)讀取解碼字符的過程,而 BufferedReader 類中有設(shè)計減少這樣的解碼次數(shù)的方法,進(jìn)而提高轉(zhuǎn)換效率)
創(chuàng)建對象:
BufferedReader in = new BufferedReader(new FileReader(“foo.in”));
方法BufferedReader 由 Reader 類擴(kuò)展而來,提供通用的緩沖方式文本讀取,而且提供了很實用的readLine()
,讀取一個文本行,從字符輸入流中讀取文本,緩沖各個字符,從而提供字符、數(shù)組和行的高效讀取。
readLine()
讀取一行字符串,不含末尾換行符,讀取結(jié)束再讀取返回 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(); //關(guān)閉緩沖區(qū),同時關(guān)閉了fw流對象 bufw.close();
運行結(jié)果會在 D 盤 abc 文件夾下新建 f11 文件
栗子2:讀取
//相接的字符流,只要讀取字符,都要做編碼轉(zhuǎn)換 //只要使用字符流,必須要有轉(zhuǎn)換流 BufferedReader in = new BufferedReader( new InputStreamReader( new FileInputStream("d:/abc/f11"))); String line; while ((line = in.readLine()) != null) { System.out.println(line); } in.close();
運行結(jié)果:
到此這篇關(guān)于Java中BufferedReader和BufferedWriter使用方式的文章就介紹到這了,更多相關(guān)Java BufferedReader內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java多線程循環(huán)柵欄CyclicBarrier正確使用方法
這篇文章主要介紹了Java多線程循環(huán)柵欄CyclicBarrier正確使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09基于Spring Boot使用JpaRepository刪除數(shù)據(jù)時的注意事項
這篇文章主要介紹了Spring Boot使用JpaRepository刪除數(shù)據(jù)時的注意事項,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06Spring Boot 中的 @EnableDiscoveryClient 注解
@EnableDiscoveryClient 注解是 Spring Boot 應(yīng)用程序注冊到服務(wù)注冊中心的關(guān)鍵注解,這篇文章主要介紹了Spring Boot 中的 @EnableDiscoveryClient 注解,需要的朋友可以參考下2023-07-07