2013-07-31 9 views
5

संपीड़ित है यह एसओ पर मेरी पहली पोस्ट होगी इसलिए कृपया नम्र रहें। मैं वर्तमान में एक एंड्रॉइड ऐप विकसित कर रहा हूं और बस एक .txt फ़ाइल को पढ़ने का प्रयास कर रहा हूं। कई अलग-अलग बाधाओं को दूर करने के बाद (यह टेक्स्ट फ़ाइल में पढ़ने का मेरा पहला प्रयास है) मैं इसकी बजाय एक बदसूरत समस्या में आया हूं त्रुटि संदेश फेंकनाएंड्रॉइड डेवलपमेंट: फ़ाइल शायद

यह फ़ाइल फ़ाइल डिस्क्रिप्टर के रूप में नहीं खोली जा सकती है; यह शायद संकुचित है।

assetmgr = thiscontext.getAssets(); 
try { 
    descriptor = assetmgr.openFd("level1.txt"); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

कोड का उपरोक्त टुकड़ा बस पाठ फ़ाइल में पढ़ने का प्रयास कर रहा है। हालांकि, यह डिस्क्रिप्टर को शून्य लौट रहा है जो स्पष्ट रूप से रेखा को और नीचे त्रुटियों का कारण बन रहा है।

inputStream = new FileReader(descriptor.getFileDescriptor()); 

यह पंक्ति है कि पाश मैं इस क्षेत्र से बाहर बना लिया है में पाठ फ़ाइल पार्स करने के लिए InputStream initialising जाता है।

तो मेरी समस्या यह है कि मैं txt फ़ाइल को सही तरीके से खोलने और अपरिवर्तनीय रूप से संपीड़ित क्यों नहीं कर सकता।

अगर मैंने पोस्टिंग में कोई त्रुटि की है तो कृपया मुझे बताएं ताकि मैं उन्हें सर्वोत्तम संभव सलाह प्राप्त करने के लिए सही कर सकूं!

चीयर्स!

+0

आपने यह स्तर 1.txt फ़ाइल कहां रखा? – wtsang02

+0

हाय वहाँ @ wtsang02। मैंने फ़ाइल को संपत्ति फ़ोल्डर में रखा है। तो मेरे लिए व्यक्तिगत रूप से यह एंड्रॉइड डेवलपमेंट/संकट/संपत्ति होगी। – user2639049

उत्तर

5

तो मेरी समस्या यह है कि मैं txt फ़ाइल को सही तरीके से खोलने और अपरिवर्तनीय रूप से संपीड़ित क्यों नहीं कर सकता।

इसके बजाय openFd() बुलाने की

, open() फोन, एक InputStream सीधे प्राप्त करने के लिए, और की जगह अपने एक InputStreamReader साथ FileReader (तुम सच में एक Reader इंटरफेस चाहते हैं)।

+0

ऐसा लगता है कि मेरे त्रुटि संदेशों को हटा दिया गया है। बहुत बहुत धन्यवाद। अब मुझे उम्मीदवार नतीजे नहीं मिल रहे हैं लेकिन बाद में एक और बाधा साफ हो गई है। – user2639049

+5

मैं सामग्री प्रदाता में AssetsFileDiscriptor का उपयोग कर रहा हूं और मुझे इस एसेटफाइल डिस्क्रिप्टर को वापस करना है, मैं इनपुटस्ट्रीम वापस नहीं कर सकता, तो अब मैं क्या कर सकता हूं? –

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