2011-12-16 13 views
6

मुझे एक dict.txt फ़ाइल पढ़नी है जिसमें लाइन के लिए एक स्ट्रिंग है और इन्हें एक सरणी सूची में जोड़ें।एरेस्टलिस्ट को इनपुटस्ट्रीम पढ़ना

मैं इस कोशिश की:

public ArrayList<String> myDict = new ArrayList<String>(); 

InputStream is = (getResources().openRawResource(R.raw.dict)); 
BufferedReader r = new BufferedReader(new InputStreamReader(is)); 
try { 
    while (r.readLine() != null) { 
     myDict.add(r.readLine()); 
    } 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

लेकिन कुछ गलत हो ...

+0

जबकि दूसरी बार दो बार पढ़ रहे हैं सूची में जोड़ने के दौरान। –

उत्तर

12

आप प्रत्येक पाश

String line; 
while ((line=r.readLine()) != null) { 
    myDict.add(line); 
} 
+0

क्या आपकी प्रतिक्रिया में "रेखा" चर होना चाहिए ArrayList टाइप करें? – Donshon

8

अपाचे IOUtils का उपयोग करते हुए दो बार पुनरावृत्ति कर रहे हैं:

List<String> lines = IOUtils.readLines(inputStream, "UTF-8"); 
आप
+1

हां! हमेशा एक एन्कोडिंग निर्दिष्ट करें। इसमें रहने की अच्छी आदत है। – Necreaux

संबंधित मुद्दे