[英]Extremely weird NullPointerException when reading in a File Android
[英]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.