字符流(FileReader,FileWriter,BufferedReader,BufferedWriter)
字符流只能对纯文本进行操作,所以输出不会乱码,字符流又分为字符输输入流与字符输出流,他们的管道用法和字节流很相似
字符流类:FileReader,FileWriter,BufferedReader,BufferedWriter
对字符流字节流的感悟:
字节流可以实现一切内容的传输,为什么还需要字符流呢?
1.字节流是一个字节一个字节读取,读取汉字会出现乱码问题
2.我们如果不知道文本文件的编码方式使用字符流就可以避免乱码问题
3.程序的配置文件,不管是json,properties,读取这些文件时,你肯定不想拿到一堆字节,来处理字符转换和编码问题。
public class Test {
public static void main(String[] args) {
try {
//有水厂
Reader fr = new FileReader("H:\\IO流实验\\in.txt");
BufferedReader br = new BufferedReader(fr);
Writer fw = new FileWriter("H:\\IO流实验\\out.txt",true);//第二个参数设置为true表示追加,而不是覆盖内容
BufferedWriter bw = new BufferedWriter(fw);
//创建小车
char[] car = new char[1024];
//开水龙头
int len=0;
while ((len=br.read(car))!=-1){
// String str = new String(car);
// System.out.println(str);
bw.write(car,0,len);//卸货
}
//关闭流
br.close();
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}