Java?輕松掌握字符緩沖流的使用
一、字符緩沖流
BufferedWriter:文本寫入字符輸出流,緩沖字符,以提供單個(gè)字符,數(shù)組和字符串的高效寫入??梢灾付ň彌_區(qū)大小,或者可以接受默認(rèn)大小。 默認(rèn)值足夠大,可用于大多數(shù)用途。
構(gòu)造方法:
BufferedWriter(Writer out) | 創(chuàng)建使用默認(rèn)大小的輸出緩沖區(qū)的緩沖字符輸出流 |
BufferedWriter(Writer out, int sz) | 創(chuàng)建一個(gè)新的緩沖字符輸出流,使用給定大小的輸出緩沖區(qū) |
BufferedReader:從字符輸入流讀取文本,緩沖字符,以提供字符,數(shù)組和行的高效讀取。可以指定緩沖區(qū)大小,或者可以使用默認(rèn)大小。 默認(rèn)值足夠大,可用于大多數(shù)用途。
構(gòu)造方法:
BufferedReader(Reader in) | 創(chuàng)建使用默認(rèn)大小的輸入緩沖區(qū)的緩沖字符輸入流 |
BufferedReader(Reader in, int sz) | 創(chuàng)建使用指定大小的輸入緩沖區(qū)的緩沖字符輸入流 |
字符緩沖流讀數(shù)據(jù)的方式:
- int read():一次讀取一個(gè)字符數(shù)據(jù)
- int read(char[] cbuf):一次讀一個(gè)字符數(shù)組數(shù)據(jù)
- int read(char cbuf[], int off, int len):一次讀一個(gè)字符數(shù)組部分?jǐn)?shù)據(jù)
- String readLine():讀一行文字。結(jié)果包含行的內(nèi)容的字符,不包含任何行終止字符,如果流的結(jié)尾已經(jīng)達(dá)到,則為null
字符緩沖流寫數(shù)據(jù)的方式:
- void write(int c):寫入一個(gè)字符
- void write(char[] cbuf):寫入一個(gè)字符數(shù)組
- void write(char[] cbuf,int off,int len):寫入字符數(shù)組的一部分
- void write(String str):寫入一個(gè)字符串
- void write(String str,int off,int len):寫入一個(gè)字符串的一部分
- void newLine():寫一行行分隔符,行分隔符字符串由系統(tǒng)屬性定義
例子-字符緩沖流實(shí)現(xiàn)復(fù)制Java文件:
public class BufferedWriteReaderDemo { public static void main(String[] args) throws IOException { //使用字符緩沖流實(shí)現(xiàn)一個(gè)文件的復(fù)制 //使用子類FileWrite\FileReader替代OutputStreamWrite\InputStreamReader BufferedReader br=new BufferedReader(new FileReader("E:\\abc.txt")); BufferedWriter bw=new BufferedWriter(new FileWriter("F:\\abcdef.txt")); //讀取數(shù)據(jù) // int len; // while ((len=br.read())!=-1){ // bw.write(len); // } int len; char[] ch=new char[1024]; while ((len=br.read(ch))!=-1){ bw.write(ch); } //釋放資源 br.close(); bw.close(); } }
二、字符緩沖流的特有方法
BufferedWriter:
void newLine():寫一行行分隔符,行分隔符字符串由系統(tǒng)屬性定義
BufferedReader:
public String readLine():讀一行文字。結(jié)果包含行的內(nèi)容的字符串,不包括任何行終止字符;如果流的結(jié)尾已經(jīng)到達(dá),則值為null
例子-字符緩沖流特有方法實(shí)現(xiàn)復(fù)制Java文件:
public class Demo02 { public static void main(String[] args) throws IOException { //字符緩沖流特有方法實(shí)現(xiàn)復(fù)制Java文件 BufferedReader br=new BufferedReader(new FileReader("E:\\abc.txt")); BufferedWriter bw=new BufferedWriter(new FileWriter("F:\\aaa.txt")); //讀寫數(shù)據(jù) String line; while ((line=br.readLine())!=null){ bw.write(line); bw.newLine();//換行 bw.flush();//刷新緩存區(qū) } //釋放資源 br.close(); bw.close(); } }
字符流只能復(fù)制文本數(shù)據(jù),有5種方式,一般采用字符緩沖流的特有功能
到此這篇關(guān)于Java 輕松掌握字符緩沖流的使用的文章就介紹到這了,更多相關(guān)Java 字符緩沖流內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot?整合canal實(shí)現(xiàn)示例解析
這篇文章主要為大家介紹了springboot整合canal的示例實(shí)現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多多進(jìn)步,早日升職加薪2022-02-02java配置dbcp連接池(數(shù)據(jù)庫連接池)示例分享
java配置dbcp連接池示例分享,大家參考使用吧2013-12-12SpringBoot集成thymeleaf渲染html模板的步驟詳解
這篇文章主要給大家詳細(xì)介紹了SpringBoot集成thymeleaf如何使實(shí)現(xiàn)html模板的渲染,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考下2023-06-06Java設(shè)計(jì)模式之橋接模式的實(shí)現(xiàn)
今天給大家?guī)淼奈恼率荍ava設(shè)計(jì)模式的相關(guān)知識(shí)點(diǎn),文中對(duì)橋接模式作了非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下2021-06-06Springboot項(xiàng)目中如何讓非Spring管理的類獲得一個(gè)注入的Bean
這篇文章主要介紹了Springboot項(xiàng)目中如何讓非Spring管理的類獲得一個(gè)注入的Bean問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12如何用Java?幾分鐘處理完?30?億個(gè)數(shù)據(jù)(項(xiàng)目難題)
現(xiàn)有一個(gè) 10G 文件的數(shù)據(jù),里面包含了 18-70 之間的整數(shù),分別表示 18-70 歲的人群數(shù)量統(tǒng)計(jì),今天小編通過本文給大家講解如何用Java?幾分鐘處理完?30?億個(gè)數(shù)據(jù),這個(gè)問題一直以來是項(xiàng)目難題,今天通過本文給大家詳細(xì)介紹下,感興趣的朋友一起看看吧2022-07-07如何在Spring WebFlux的任何地方獲取Request對(duì)象
這篇文章主要介紹了如何在Spring WebFlux的任何地方獲取Request對(duì)象,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2021-01-01