1,字节流和字符流
2,字节流针对二进制流,有两个接口
InputStream
OutputStream
3,字符流
Writer
Reader
4,字符流有缓冲区,字节流没有缓冲区
5,为什么要有字符流,主要是因为读取文本文件时,字符是按照一个字节或多个字节来编码的,所以应该以特定数量的字节来读取。
字符分为 ASC码、Unicode码、UTF码,ASC码是英文码。
Unicode是包含世界绝大多数字符的编码,Utf码时在unicode基础上优化的码,可以根据高位标志识别不同长度的字符,如英文是一个字节,中文是两个字节。
6,字节流是一个字节一个字节读取,字符流可能多个字节一起读,还有缓存。
7,字符流本质是对字节流的增强,底层仍然以字节流的方式进行输入输出;
8,java io 以装饰模式为主进行设计
9,类图