Java?輕松掌握字符緩沖流的使用
一、字符緩沖流
BufferedWriter:文本寫入字符輸出流,緩沖字符,以提供單個字符,數(shù)組和字符串的高效寫入??梢灾付ň彌_區(qū)大小,或者可以接受默認大小。 默認值足夠大,可用于大多數(shù)用途。
構(gòu)造方法:
| BufferedWriter(Writer out) | 創(chuàng)建使用默認大小的輸出緩沖區(qū)的緩沖字符輸出流 |
| BufferedWriter(Writer out, int sz) | 創(chuàng)建一個新的緩沖字符輸出流,使用給定大小的輸出緩沖區(qū) |
BufferedReader:從字符輸入流讀取文本,緩沖字符,以提供字符,數(shù)組和行的高效讀取??梢灾付ň彌_區(qū)大小,或者可以使用默認大小。 默認值足夠大,可用于大多數(shù)用途。
構(gòu)造方法:
| BufferedReader(Reader in) | 創(chuàng)建使用默認大小的輸入緩沖區(qū)的緩沖字符輸入流 |
| BufferedReader(Reader in, int sz) | 創(chuàng)建使用指定大小的輸入緩沖區(qū)的緩沖字符輸入流 |
字符緩沖流讀數(shù)據(jù)的方式:
- int read():一次讀取一個字符數(shù)據(jù)
- int read(char[] cbuf):一次讀一個字符數(shù)組數(shù)據(jù)
- int read(char cbuf[], int off, int len):一次讀一個字符數(shù)組部分數(shù)據(jù)
- String readLine():讀一行文字。結(jié)果包含行的內(nèi)容的字符,不包含任何行終止字符,如果流的結(jié)尾已經(jīng)達到,則為null
字符緩沖流寫數(shù)據(jù)的方式:
- void write(int c):寫入一個字符
- void write(char[] cbuf):寫入一個字符數(shù)組
- void write(char[] cbuf,int off,int len):寫入字符數(shù)組的一部分
- void write(String str):寫入一個字符串
- void write(String str,int off,int len):寫入一個字符串的一部分
- void newLine():寫一行行分隔符,行分隔符字符串由系統(tǒng)屬性定義
例子-字符緩沖流實現(xiàn)復(fù)制Java文件:
public class BufferedWriteReaderDemo {
public static void main(String[] args) throws IOException {
//使用字符緩沖流實現(xiàn)一個文件的復(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)到達,則值為null
例子-字符緩沖流特有方法實現(xiàn)復(fù)制Java文件:
public class Demo02 {
public static void main(String[] args) throws IOException {
//字符緩沖流特有方法實現(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java處理數(shù)據(jù)庫不支持的emoji表情符問題解決
這篇文章主要介紹了java處理數(shù)據(jù)庫不支持的emoji表情符問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
SpringBoot整合MOTT動態(tài)讀取數(shù)據(jù)庫連接信息并連接MQTT服務(wù)端
MQTT是一種輕量級的消息傳輸協(xié)議(Message Queuing Telemetry Transport),旨在實現(xiàn)設(shè)備之間的低帶寬和高延遲的通信,本文給大家介紹了SpringBoot整合MOTT動態(tài)讀取數(shù)據(jù)庫連接信息并連接MQTT服務(wù)端,需要的朋友可以參考下2024-04-04
淺談Java由于不當?shù)膱?zhí)行順序?qū)е碌乃梨i
為了保證線程的安全,我們引入了加鎖機制,但是如果不加限制的使用加鎖,就有可能會導(dǎo)致順序死鎖(Lock-Ordering Deadlock)。本文將會討論一下順序死鎖的問題。2021-06-06
java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):線性表
這篇文章主要介紹了Java的數(shù)據(jù)解構(gòu)基礎(chǔ),希望對廣大的程序愛好者有所幫助,同時祝大家有一個好成績,需要的朋友可以參考下,希望能給你帶來幫助2021-07-07
Spring Security添加驗證碼的兩種方式小結(jié)
使用spring security的時候,框架會幫我們做賬戶密碼的驗證,但是如我們需要添加一個驗證碼,就需要對配置文件進行修改,這篇文章主要給大家介紹了關(guān)于Spring Security添加驗證碼的兩種方式,需要的朋友可以參考下2021-10-10

