Java IO流學習總結四:緩沖流-BufferedReader、BufferedWriter。本站提示廣大學習愛好者:(Java IO流學習總結四:緩沖流-BufferedReader、BufferedWriter)文章只能為提供參考,不一定能成為您想要的結果。以下是Java IO流學習總結四:緩沖流-BufferedReader、BufferedWriter正文
轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/54911237
本文出自【趙彥軍的博客】
在上一篇文章中Java IO流學習總結三:緩沖流-BufferedInputStream、BufferedOutputStream引見了緩沖流中的字節流,而這一篇著重引見緩沖流中字符流BufferedReader、BufferedWriter。
Reader
|__ BufferedReader、StringReader、InputStreamReader
|__ FileReader
Writer
|__ BufferedWriter、StringWriter、OutputStreamWriter
|__ FileWriter
BufferedReader
BufferedReader(Reader in, int sz) //創立一個運用指定大小輸出緩沖區的緩沖字符輸出流。 BufferedReader(Reader in) //創立一個運用默許大小輸出緩沖區的緩沖字符輸出流。
int read() //讀取單個字符。 int read(char[] cbuf, int off, int len) //將字符讀入數組的某一局部。 String readLine() //讀取一個文本行。 boolean ready() //判別此流能否已預備好被讀取。 void reset() //將流重置到最新的標志。 long skip(long n) //跳過字符。 void close() //封閉該流並釋放與之關聯的一切資源。 void mark(int readAheadLimit) //標志流中的以後地位。 boolean markSupported() //判別此流能否支持 mark() 操作(它一定支持)。
BufferedWriter
BufferedWriter(Writer out, int sz) //創立一個運用給定大小輸入緩沖區的新緩沖字符輸入流。 BufferedWriter(Writer out) //建一個運用默許大小輸入緩沖區的緩沖字符輸入流。
void close() // 封閉此流,但要先刷新它。 void flush() //刷新該流的緩沖。 void newLine() //寫入一個行分隔符。 void write(char[] cbuf, int off, int len) //寫入字符數組的某一局部。 void write(int c) //寫入單個字符。 void write(String s, int off, int len) //寫入字符串的某一局部。
實戰演練
復制F盤外面的一個txt文本
package com.app;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
public class A4 {
public static void main(String[] args) {
String filePath = "F:/123.txt" ;
String filePath2 = "F:/abc.txt" ;
File file = new File( filePath ) ;
File file2 = new File( filePath2 ) ;
copyFile( file , file2 );
}
private static void copyFile( File oldFile , File newFile ){
Reader reader = null ;
BufferedReader bufferedReader = null ;
Writer writer = null ;
BufferedWriter bufferedWriter = null ;
try {
reader = new FileReader( oldFile ) ;
bufferedReader = new BufferedReader( reader ) ;
writer = new FileWriter( newFile ) ;
bufferedWriter = new BufferedWriter( writer ) ;
String result = null ; //每次讀取一行的內容
while ( (result = bufferedReader.readLine() ) != null ){
bufferedWriter.write( result ); //把內容寫入文件
bufferedWriter.newLine(); //換行,result 是一行數據,所以沒寫一行就要換行
}
bufferedWriter.flush(); //強迫把數組內容寫入文件
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally {
try {
bufferedWriter.close(); //封閉輸入流
} catch (IOException e) {
e.printStackTrace();
}
try {
bufferedReader.close(); //封閉輸出流
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
運轉後果:
團體微信號:zhaoyanjun125 , 歡送關注
