5 字符流
5.1 为什么出现字符流
- 由于字节流操作中文不是特别的方便,所以Java就提供字符流
- 字符流=字节流+编码表
- 用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢?
- 汉字在存储的时候, 无论选择哪种编码存储,第一个字节都是负数
5.2 字符流中编码解码问题
- 字符流抽象基类
- Reader:字符输入流的抽象类
- Writer:字符输出流的抽象类
- 字符流中和编码解码问题相关的两个类:
InputStreamReader
OutputStreamWriter
package test;
/*InputStreamReader:是从字节流到字符流的桥梁
它读取字节,并使用指定的编码将其解码为字符
它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集
OutputStr