日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter

發布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java IO流學習總結四:緩沖流-BufferedReader、BufferedWriter

轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/54911237
本文出自【趙彥軍的博客】

在上一篇文章中Java IO流學習總結三:緩沖流-BufferedInputStream、BufferedOutputStream介紹了緩沖流中的字節流,而這一篇著重介紹緩沖流中字符流BufferedReaderBufferedWriter

  • 類的繼承關系
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 , 歡迎關注

轉載于:https://www.cnblogs.com/zhaoyanjun/p/6376951.html

總結

以上是生活随笔為你收集整理的Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。