簡體   English   中英

Android:讀取txt文件時出現NullPointerException

[英]Android: NullPointerException when reading a txt file

我正在嘗試為Android編寫翻譯器應用程序,並想讀取txt文件。 但是,通過嘗試讀取文件,我總是得到NullpointerException。 我已將txt文件放入資產文件夾,但我認為該應用找不到它:(我的代碼:

(這是第160行中我的類VocabTrainer的代碼:(vocsE,vocsG是LinkedLists,而vocMapE,vocMapG是HasMaps作為VocabTrainer的字段))

try{
        AssetManager manager;
        manager = currentContext.getAssets();
        InputStream input = manager.open("vocabs.txt");
        InputStreamReader inputReader = new InputStreamReader(input);

        BufferedReader reader = new BufferedReader(inputReader);
        String word = null;

        while ((word = reader.readLine()) != null) {
            //Splitts the given String when there is given " " 
            String[] wordSplit = word.split(" ");

            vocsE.add(wordSplit[0]);
            vocsG.add(wordSplit[1]);

            vocMapE.put(wordSplit[0], wordSplit[1]);
            vocMapG.put(wordSplit[1], wordSplit[0]);
        }
        reader.close();
    }
    catch (IOException e) {
        e.printStackTrace();
    }

這是logcat跟蹤:

04-18 17:24:27.204: E/AndroidRuntime(1736): java.lang.RuntimeException: Unable to    
instantiate activity  
ComponentInfo{de.dbgeppelheim.dbgvocab/de.dbgeppelheim.dbgvocab.TrainingActivity}: 
java.lang.NullPointerException
04-18 17:24:27.204: E/AndroidRuntime(1736):     at  
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
android.app.ActivityThread.access$600(ActivityThread.java:141)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at    
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
android.os.Handler.dispatchMessage(Handler.java:99)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
android.os.Looper.loop(Looper.java:137)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at    
android.app.ActivityThread.main(ActivityThread.java:5039)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
java.lang.reflect.Method.invokeNative(Native Method)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at  
java.lang.reflect.Method.invoke(Method.java:511)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at    
dalvik.system.NativeStart.main(Native Method)
04-18 17:24:27.204: E/AndroidRuntime(1736): Caused by: java.lang.NullPointerException
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
android.content.ContextWrapper.getResources(ContextWrapper.java:89)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:78)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
de.dbgeppelheim.functionality.VocabTrainer.initialise(VocabTrainer.java:167)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
de.dbgeppelheim.functionality.VocabTrainer.<init>(VocabTrainer.java:40)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
de.dbgeppelheim.dbgvocab.TrainingActivity.<init>(TrainingActivity.java:25)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at  
java.lang.Class.newInstanceImpl(Native Method)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
java.lang.Class.newInstance(Class.java:1319)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
android.app.Instrumentation.newActivity(Instrumentation.java:1054)
04-18 17:24:27.204: E/AndroidRuntime(1736):     at   
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
04-18 17:24:27.204: E/AndroidRuntime(1736):     ... 11 more

嘗試將其放在res文件夾中。 並重新運行。 如果仍然不起作用,請調試問題是否由找不到文件錯誤引起。

該問題說明了如何執行您要執行的操作。 請按照以下步驟操作,如果仍然無法使用,請返回。

讀取一個簡單的文本文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM