與位元組不同的地方在于:
字元的讀取需要用到char[]數組
while循環基本一緻。
簡單版
package IObase;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 字元流IO的基本步驟:
* 1 選擇源
* 2 選擇流
* 3 搬運操作
* 4 關流
*/
public class IOTest6 {
/*
* 通過讀取字元的方式讀取檔案,僅僅适合字元檔案
* FileReader、FileWriter兩個關鍵類
* 因為讀取字元,FileReader是以需要char[] 字元數組
* 寫入的時候,可以寫入字元數組或者字元串
*/
public static void main(String[] args) {
FileReader reader = null;
FileWriter writer = null;
try {
//根目錄下的檔案
reader = new FileReader("test.txt");
//輸出到根目錄的新檔案名字
writer = new FileWriter("writer.txt");
char[] cr = new char[1024];
int temp;
while((temp = reader.read(cr)) != -1) {
writer.write(cr, 0, temp);
}
writer.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(null != writer) {
writer.close();
}
if(null != reader) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(null != writer){
writer.close();
}
if(null != reader){
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}