IO流 檔案字元流FileReader、FlieWriter
FileReader、FileWrite
FileReader、FlieWriter用法與FileInputStream、FileOutputStream用法基本一致,區別時前者為字元IO流、後者為位元組IO流
建立緩衝區複製檔案
除了“讀一個字元,寫一個字元”的方法複製檔案外,我們還可以利用緩衝區複製檔案,建立一個陣列暫時儲存讀入字元,然後將陣列內容寫入檔案,這樣複製檔案效率更高!
例項
import java.io.*;
public class Test02 {
public static void main(String[] args) throws IOException {
File file1 = new File("D:\\test\\a\\test01.txt"); //確定讀目標
File file2 = new File("D:\\test\\a\\test02.txt"); //確定寫目標
FileReader fileReader = new FileReader(file1); //建立 檔案———》程式 IO流
FileWriter fileWriter = new FileWriter(file2); ///建立 程式--》檔案 IO流
char[] ch = new char[4]; //建立一個字元陣列作為緩衝區
int len = fileReader.read(ch); //讀陣列
while (len!=-1){
fileWriter.write(ch); //陣列內容全部寫入
len = fileReader.read(ch); //下一次讀取陣列
}
fileWriter.close(); //關閉IO流
fileReader.close();
}
}
結果
可以看到結果並不是我們所預期的
原因是
所以上一次未被覆蓋的“1”也寫入了檔案,所以結果為“你好,123!1”
修改後程式碼
import java.io.*;
public class Test02 {
public static void main(String[] args) throws IOException {
File file1 = new File("D:\\test\\a\\test01.txt"); //確定讀目標
File file2 = new File("D:\\test\\a\\test02.txt"); //確定寫目標
FileReader fileReader = new FileReader(file1); //建立 檔案———》程式 IO流
FileWriter fileWriter = new FileWriter(file2); ///建立 程式--》檔案 IO流
char[] ch = new char[4]; //建立一個字元陣列作為緩衝區
int len = fileReader.read(ch); //讀陣列
while (len!=-1){ //陣列內容寫入
fileWriter.write(ch,0,len); //[0,len)
len = fileReader.read(ch); //下一次讀取陣列
}
fileWriter.close(); //關閉IO流
fileReader.close();
}
}
結果為
相關文章
- IO流之 檔案操作字元流字元
- IO 字元流字元
- IO流-檔案拷貝
- Java IO: 其他字元流(下)Java字元
- Java IO5:字元流Java字元
- Java IO流字元流簡介及基本使用Java字元
- IO流的檔案讀寫
- Java基礎(八)——IO流1_位元組流、字元流Java字元
- Java 字元流檔案讀寫Java字元
- java的IO操作:位元組流與字元流操作Java字元
- Java提高篇(二):IO位元組流、字元流和處理流Java字元
- [java IO流]之檔案拷貝Java
- [java IO流]之檔案複製Java
- 檔案的複製通過字元流和緩衝流(Buffered)字元
- Java IO 流之拷貝(複製)檔案Java
- IO流-檔案的寫入和讀取
- IO 流
- IO流
- 129.(位元組流、字元流)對檔案進行讀寫操作字元
- 8、IO流:轉換流
- java IO流 對檔案操作的程式碼集合Java
- 讀取檔案流並寫入檔案流
- java -IO流Java
- Java IO流Java
- java - IO流Java
- javaSE<IO流>Java
- Java IO流Java
- Java IO: 流Java
- JavaSE:IO流Java
- Java——IO流Java
- IO流上:概述、字元流、緩衝區(java基礎)字元Java
- Java位元組流和字元流,是時候總結一下IO流了Java字元
- [java IO流]之 隨機訪問檔案(RandomAccessFile類)Java隨機randomMac
- java IO流之檔案切割兩例(含Properties 用法)Java
- java檔案流Java
- 字元輸出流_Writer類&FileWriter類介紹和字元輸出流的基本使用_寫出單個字元到檔案字元
- Java之IO流基礎流物件Java物件
- Java IO7:管道流、物件流Java物件