java - BufferedReader में इनपुटस्ट्रीम कनवर्ट करें




android inputstream (2)

मैं एंड्रॉइड में संपत्ति निर्देशिका से इनपुटस्ट्रीम का उपयोग कर लाइन द्वारा एक टेक्स्ट फ़ाइल लाइन पढ़ने की कोशिश कर रहा हूं।

मैं readLine () का उपयोग करने में सक्षम होने के लिए इनपुट स्ट्रीम को BufferedReader में कनवर्ट करना चाहता हूं।

मेरे पास निम्न कोड है:

InputStream is;
is = myContext.getAssets().open ("file.txt");
BufferedReader br = new BufferedReader (is);

तीसरी पंक्ति निम्न त्रुटि को छोड़ देती है:

Multiple markers at this line
The constructor BufferedReader (InputStream) is undefinded.

मैं सी में क्या करने की कोशिश कर रहा हूं जैसे कुछ ऐसा होगा:

StreamReader file;
file = File.OpenText ("file.txt");

line = file.ReadLine();
line = file.ReadLine();
...

मैं गलत क्या कर रहा हूं या मुझे यह कैसे करना चाहिए? धन्यवाद!


एक BufferedReader कन्स्ट्रक्टर एक reader तर्क के रूप में लेता है, इनपुट इनपुट नहीं। आपको पहले अपनी स्ट्रीम से रीडर बनाना चाहिए, जैसे:

Reader reader = new InputStreamReader(is);
BufferedReader br = new BufferedReader(reader);

पसंदीदा रूप से, आप StreamReader कन्स्ट्रक्टर को एक वर्णसेट या वर्ण एन्कोडिंग नाम भी प्रदान करते हैं। चूंकि एक धारा केवल बाइट प्रदान करती है, इन्हें पाठ में परिवर्तित करने का अर्थ है एन्कोडिंग ज्ञात होना चाहिए। यदि आप इसे निर्दिष्ट नहीं करते हैं, तो सिस्टम डिफ़ॉल्ट माना जाता है।


BufferedReader सीधे InputStream को लपेट नहीं सकता है। यह एक और Reader लपेटता है। इस मामले में आप कुछ ऐसा करना चाहते हैं:

BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));




bufferedreader