当inputStreamReader在读取文件时,数据(字节流)会被读取到byteBuffer中然后根据指定的字符集解析数据,例如UTF8,也就是说读取的数据流应该用UTF8编码的二进制流,StreamDecoder将对应的字节转为UTF16表示的字节写入CharBuffer中(char类型固定为两个字节,如果有超过BMP表示范围的字符无法在char表示)。
在inputStreamReader中会有byte数组的缓存用于将字节数组转化为字符数组。在BufferedReader中则有char数组用于读取一行数据
流与字符-读取过程
于 2022-04-07 15:42:06 首次发布