字符流
超类
Reader
- 读取字符流的抽象超类
- read() 读取单个字符并返回
- read(char[] cbuf) 把数据读取到数组中,并返回读取个数
Writer
- 写入字符流的抽象超类
- write(int c) 写入单个字符
字符缓冲流
BufferedWriter
BufferedReader
便捷类,默认编码操作
FileReader
FileWriter
字符流通向字节流的桥梁
InputStreamReader
OutputStreamWriter
- 将字符串按照指定的编码表转成字节,再使用字节流将这些字节写出去
一个栗子(Windows环境)
InputStreamReader isr = new InputStreamReader(new FileInputStream("text.txt"));//默认字符集
InputStreamReader isr = new InputStreamReader(new FileInputStream("text.txt"), "GBK");//指定的是gbk字符集
FileReader fr = new FileReader("text.txt");
- 此上三句代码的功能完全相同,其中第三句话最为便捷
- 但一旦要指定其他的编码时,绝对不能用子类,必须使用字符流转换,因为只有父类才能够转换编码