Java實用方法整理(二十二)——IO流之字元緩衝流BufferedReader、BufferedWriter
阿新 • • 發佈:2019-02-16
1,描述
BufferedReader、BufferedWriter是java為了高效傳輸IO字元流而設計的一種緩衝類,用法和FileWriter,FileReader類似。BufferedReader、BufferedWriter只是對FileWriter,FileReader進行了裝飾。
2,案例+原始碼
將原始檔複製到目的地檔案
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * @author Manduner_TJU * @version 建立時間:2018年11月7日下午8:02:07 */ public class TestBuffered { public static void main(String[] args) throws IOException{ // copyFile1("e:\\test.json","g:\\testNew.json"); copyFile2("e:\\test.json","g:\\testNew.json"); System.out.println("檔案複製完畢"); } //每次一個字元一個字元的複製 public static void copyFile1(String source, String des) throws IOException{ //1,封裝資料來源 BufferedReader br = new BufferedReader(new FileReader(source)); BufferedWriter bw = new BufferedWriter(new FileWriter(des)); //2,複製檔案 int ch = 0; while((ch = br.read()) != -1) { bw.write(ch); } //3,釋放資源 br.close(); bw.close(); } //每次複製一個字元陣列 public static void copyFile2(String source, String des) throws IOException{ //1,封裝資料來源 BufferedReader br = new BufferedReader(new FileReader(source)); BufferedWriter bw = new BufferedWriter(new FileWriter(des)); //2,複製檔案 char[] ch = new char[1024]; int len = 0; while((len = br.read(ch)) != -1) { bw.write(ch,0,len); } //3,釋放資源 br.close(); bw.close(); } }