InputStream
和InputStreamReader
的区别在于,InputStream
按字节(byte
)读取,而InputStreamReader
按字符(char
)读取。例如,如果文件中的文本是abc
,则两者都可以正常工作。但如果文本是由一个a
和两个汉字组成的a你们
,则InputStream
无法正常工作。
因此我们应该使用InputStreamReader
,但我的问题是:
InputStreamReader
如何识别字符?
a
是一个字节,但一个汉字是两个字节。它是否将a
读取为一个字节,并将其他字符识别为两个字节,还是对于文本中的每个字符,InputStreamReader
都将其读取为两个字节?