gpt4 book ai didi

java - 在给出 NullPointerException 的 android Assets 中打开文本文件

转载 作者:行者123 更新时间:2023-11-29 22:02:52 25 4
gpt4 key购买 nike

我在 assets 的子文件夹中有一些文件,例如 /assets/abc/0.txt/assets/abc/3.txt 我正在使用以下代码。

AssetManager mngr = getAssets();
String[] index = null;

String[] files = mngr.list("abc");

try {

InputStreamReader reader = new InputStreamReader(getAssets().open(
files[0]));
BufferedReader buffreader = new BufferedReader(reader);
int c = 0;

if (reader != null) {
String line;
while ((line = buffreader.readLine()) != null) {
index[c] = line;
c++;
System.out.println("Line number " + line);
}
reader.close();

}
} catch (Exception e) {
e.printStackTrace();
}

我不知道为什么这段代码不起作用并给我 NullPointerException。如果这段代码有任何问题,请告诉我。

编辑我的 logcat 是

07-17 23:58:24.023: W/System.err(1135): java.lang.NullPointerException
07-17 23:58:24.023: W/System.err(1135): at com.example.abc.Main.readFile(Main.java:141)
07-17 23:58:24.023: W/System.err(1135): at com.example.abc.Main.displayContent(Main.java:55)
07-17 23:58:24.023: W/System.err(1135): at com.example.abc.Main.onCreate(Main.java:36)
07-17 23:58:24.023: W/System.err(1135): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-17 23:58:24.033: W/System.err(1135): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-17 23:58:24.033: W/System.err(1135): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-17 23:58:24.033: W/System.err(1135): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-17 23:58:24.033: W/System.err(1135): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-17 23:58:24.033: W/System.err(1135): at android.os.Handler.dispatchMessage(Handler.java:99)
07-17 23:58:24.033: W/System.err(1135): at android.os.Looper.loop(Looper.java:123)
07-17 23:58:24.033: W/System.err(1135): at android.app.ActivityThread.main(ActivityThread.java:4627)
07-17 23:58:24.033: W/System.err(1135): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 23:58:24.033: W/System.err(1135): at java.lang.reflect.Method.invoke(Method.java:521)
07-17 23:58:24.033: W/System.err(1135): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-17 23:58:24.033: W/System.err(1135): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-17 23:58:24.033: W/System.err(1135): at dalvik.system.NativeStart.main(Native Method)

最佳答案

String[] index = null; 是错误的来源

index[c] = line; 是 nullPointerException 发生的地方;

在使用对象之前必须将对象分配给数组。

关于java - 在给出 NullPointerException 的 android Assets 中打开文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11528204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com