Der Unterschied zwischen InputStream und InputStreamReader besteht darin, dass InputStream als Byte liest, während InputStreamReader als Zeichen liest. Wenn der Text in einer Datei beispielsweise abc ist, funktionieren beide einwandfrei. Aber wenn der Text ein Text ist, der aus einem a und zwei chinesischen Zeichen besteht, dann funktioniert der InputStream nicht.
Also sollten wir InputStreamReader verwenden, aber meine Frage ist:
Wie erkennt InputStreamReader Zeichen?
ist ein Byte, aber ein chinesisches Zeichen besteht aus zwei Bytes. Liest es ein als ein Byte und erkennt das andere Zeichen als zwei Bytes, oder liest der InputStreamReader jedes Zeichen in diesem Text als zwei Bytes?