package cn.itcast_04;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 由于我们常见的操作都是使用本地默认编码,所以不用指定编码。
* 而转换流的名称有点长,所以,Java就给我们提供其子类供我们使用。
* OutputStreamWriter = FileOutputStream + 编码表(GBK)
* FileWriter = OutputStreamWriter
*
* InputStreamReader = FileInputStream + 编码表(GBK)
* FileReader = InputStreamReader
*
* 需求:把当前项目目录下的a.txt内容复制到当前项目目录中b.txt中
*
* 数据源:
* a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader -- FileReader
* 目的地:
* b.txt -- 读出数据 -- 字符转换流 -- OutputStreamWriter -- FileWriter
*/
public class CopyFileDemo2 {
public static void main(String[] args) throws IOException {
// 封装数据源对象
FileReader fr = new FileReader("a.txt");
// 封装目的地对象
FileWriter fw = new FileWriter("b.txt");
// 读写数据
// 方式1
// 一次读写一个字符
// int len = 0;
// while ((len = fr.read()) != -1) {
// fw.write(len);
// }
// 方式2
// 一次读写一个字符数组
char[] chs = new char[1024];
int len = 0;
while ((len = fr.read(chs)) != -1) {
fw.write(chs, 0, len);
fw.flush();
}
// 释放资源
fw.close();
fr.close();
}
}