15

मैं उन शब्दों के समूह की एक पाठ फ़ाइल में पढ़ने की कोशिश कर रहा हूं जिसे मैं लिखने वाले शब्द गेम के लिए उपयोग करना चाहता हूं। यह सूची संपत्ति निर्देशिका में संग्रहीत है और एक txt फ़ाइल है। लेकिन, जब भी मैं इसे खोलने का प्रयास करता हूं, तो यह अपवाद फेंकता है।संपत्ति निर्देशिका से फ़ाइल पढ़ना FileNotFoundException

List<String>wordList = new ArrayList<String>(); 
    BufferedReader br = null; 
    try { 
     br = new BufferedReader(new InputStreamReader(getAssets().open("wordlist.txt"))); //throwing a FileNotFoundException? 
     String word; 
     while((word=br.readLine()) != null) 
     wordList.add(word); //break txt file into different words, add to wordList 
    } 
     catch(IOException e) { 
      e.printStackTrace(); 
     } 
     finally { 
      try { 
       br.close(); //stop reading 
      } 
      catch(IOException ex) { 
       ex.printStackTrace(); 
      } 
     } 
     String[]words = new String[wordList.size()]; 
     wordList.toArray(words); //make array of wordList 

     for(int i=0;i<words.length; i++) 
      Log.i("Brian", words[i]); //print out words in array 
} 

यहाँ कोई मदद नहीं है कि मामले में त्रुटि लॉग है,:

02-22 20:49:47.646: WARN/System.err(2351): java.io.FileNotFoundException: wordlist.txt 
02-22 20:49:47.646: WARN/System.err(2351):  at android.content.res.AssetManager.openAsset(Native Method) 
02-22 20:49:47.746: WARN/System.err(2351):  at android.content.res.AssetManager.open(AssetManager.java:299) 
02-22 20:49:47.746: WARN/System.err(2351):  at android.content.res.AssetManager.open(AssetManager.java:273) 
02-22 20:49:47.756: WARN/System.err(2351):  at com.bic.anagram.GameActivity.onCreate(GameActivity.java:40) 
02-22 20:49:47.756: WARN/System.err(2351):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
02-22 20:49:47.756: WARN/System.err(2351):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2521) 
02-22 20:49:47.756: WARN/System.err(2351):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2574) 
02-22 20:49:47.766: WARN/System.err(2351):  at android.app.ActivityThread.access$2400(ActivityThread.java:121) 
02-22 20:49:47.766: WARN/System.err(2351):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1925) 
02-22 20:49:47.766: WARN/System.err(2351):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-22 20:49:47.776: WARN/System.err(2351):  at android.os.Looper.loop(Looper.java:136) 
02-22 20:49:47.776: WARN/System.err(2351):  at android.app.ActivityThread.main(ActivityThread.java:4425) 
02-22 20:49:47.776: WARN/System.err(2351):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-22 20:49:47.776: WARN/System.err(2351):  at java.lang.reflect.Method.invoke(Method.java:521) 
02-22 20:49:47.776: WARN/System.err(2351):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
02-22 20:49:47.776: WARN/System.err(2351):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
02-22 20:49:47.776: WARN/System.err(2351):  at dalvik.system.NativeStart.main(Native Method) 
02-22 20:49:47.776: WARN/dalvikvm(2351): threadid=3: thread exiting with uncaught exception (group=0x4001e280) 

सभी को धन्यवाद!

उत्तर

19

जांचें कि फ़ाइल को .apk फ़ाइल के अंदर संपत्ति फ़ोल्डर में ठीक तरह से पैक किया गया था या नहीं। (यह एक ज़िप फ़ाइल के रूप में ब्राउज़ किया जा सकता है। यह नाम बदलें यदि आवश्यक हो तो अंदर देखने के लिए।)

+0

दिलचस्प बात यह फ़ाइल नहीं थी जब मैं ग्रहण से एक निर्यात किया था, लेकिन जब मैं अपने फोन बंद फ़ाइल को हटा लिया (डेटा/app से), पूरी संपत्ति निर्देशिका था एमआईए। मैं उस निर्देशिका को बनाने के लिए इसे कैसे प्राप्त करूं? –

+17

समझ गया! मुझे एक्लिप्स में संपत्ति निर्देशिका पर राइट क्लिक करना था, फिर बिल्ड पथ -> स्रोत फ़ोल्डर के रूप में उपयोग करें चुनें। अब ग्रहण एपीके संकुल करता है जब यह बनाता है। यह एक अच्छा सुझाव था। धन्यवाद! –

+0

दरअसल, मैंने उस "महान टिप्पणी" को तुरंत थोड़ा जल्दी बनाया है ... अगर मैंने स्रोत संपत्ति के रूप में "संपत्ति" को चिह्नित किया है, तो यह काम नहीं करता - फ़ाइल नहीं मिली थी। अगर मैं इसे (मानक) होने देता हूं, तो यह ठीक काम करता है =) – Ted

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