package com.cskaoyan.io02.simplify;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
/**
* @author zhangshuai@Cskaoyan.onaliyun.com.
* @version 1.0
*
* FileReader和FileWriter是转化流简化版本
* 同时FileRader和FileWriter,专门操作文件
* FileWriter
public FileWriter(String fileName),,
public FileWriter(String fileName, boolean append)
FileReader
public FileReader(String fileName)
public FileReader(File file)
FileReader & FileWriter VS 转化流:
1. 转化流,创建对象麻烦,但是可以指定,编解码使用的字符集
2. FileReader & FileWriter,创建对象简单,但是,我们无法指定,其编解码使用的字符集,即只能使用默认字符集来编解码
*/
public class Demo1 {
public static void main(String[] args) throws IOException {
// 太麻烦
//OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("e:\\a.txt"));
//FileWriter fileWriter = new FileWriter("e:\\a.txt");
//
copyFileByChars("a.txt", "d:\\b.txt");
}
public static void copyFileByChars(String srcPath, String destPath) throws IOException {
// 1.创建字符输入,输出流对象
Writer writer = new FileWriter(destPath);
Reader reader = new FileReader(srcPath);
//2. 复制文件(字符)
int len;
char[] charBuf = new char[1024];
while ((len = reader.read(charBuf)) != -1) {
writer.write(charBuf, 0, len);
}
//3. 关闭流
writer.close();
reader.close();
}
}