InputStream
और InputStreamReader
के बीच का अंतर यह है कि InputStream
byte
के रूप में पढ़ता है, जबकि InputStreamReader
char
के रूप में पढ़ता है। उदाहरण के लिए, यदि फ़ाइल में टेक्स्ट abc
है, तो दोनों ठीक काम करते हैं। लेकिन अगर पाठ a你们
है, जो a
और दो चीनी वर्णों से बना है, तो InputStream
काम नहीं करता है।बहु-बाइट वर्ण पढ़ने के दौरान इनपुटस्ट्रीम और इनपुटस्ट्रीम रीडर के बीच का अंतर
तो हमें InputStreamReader
का उपयोग करना चाहिए, लेकिन मेरा प्रश्न है:
InputStreamReader
कैरेक्टर को कैसे पहचानता है?
a
एक बाइट है, लेकिन एक चीनी चरित्र दो बाइट्स है। क्या यह a
को एक बाइट के रूप में पढ़ता है और वर्णों के दूसरे को दो बाइट्स के रूप में पहचानता है, या इस पाठ में प्रत्येक चरित्र के लिए, InputStreamReader
इसे दो बाइट्स के रूप में पढ़ता है?