Разница между InputStream и InputStreamReader заключается в том, что InputStream читается как byte, а InputStreamReader читается как char. Например, если текст в файле abc, то оба они работают нормально. Но если текст a你们, который состоит из a и двух китайских символов, то InputStream не работает.
Итак, мы должны использовать InputStreamReader, но мой вопрос:
Как InputStreamReader распознать символы?
a - один байт, но китайский символ - два байта. Прочитал ли он a как один байт и распознал другие символы как два байта или для каждого символа в этом тексте, читает ли он InputStreamReader как два байта?