JAVA——缓冲流(字符流简化流版本 FileReader和FileWriter )

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();
}

}
posted @ 2020-09-02 18:06  LY心情笔记  阅读(132)  评论(0)    收藏  举报