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
, 歡送關注