inputStream 无法获取 csvfile android

我在 android 上加载 csv 文件挣扎了 3 天。我已经创建了原始文件夹并向其中添加了 brojler.csv 文件。但是,每次我尝试加载它时,都会收到 NullPointerException 错误。我试图自己阅读并解决它,但基于这个主题(什么是 NullPointerException,以及如何修复它?)我找不到原因。我是android的大一新生,但是,我认为所有变量都定义得很好。奇怪的是,在另一个应用程序中,相同的代码可以正常工作并正确加载文件。


Brojler.csv 有 9 列和 12 行。


另外,我改变了如下声明列表的方式但没有成功


List<String> ingredients = new ArrayList<>();

List<String> em = new ArrayList<>();

List<String> bo = new ArrayList<>();

And so on,

我的错误:


E/Unknown error: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference

I/chatty: uid=10083(u0_a83) com.example.nick.calcy identical 1 line

E/Unknown error: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference

E/Unknown error: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference

I/chatty: uid=10083(u0_a83) com.example.nick.calcy expire 7 lines

E/Unknown error: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference

我想问题可能是对文件的访问级别。在一个工作应用程序中,我使用 main_activity 中的代码,而在另一个应用程序中它失败了,因为它是在另一个(非主)活动中调用的。


帮助将不胜感激


暮色呼如
浏览 158回答 1
1回答

慕的地10843

该NullPointerException告诉你,什么是空。即它没有引用有效的实例。从外观上看,您需要初始化列表。我没有看到您在何处初始化它们。我还觉得奇怪的是,Android Studio lint 没有警告您可能存在空变量,假设您正在使用该变量。好的,这里是:List<String> ingredients = new ArrayList<>(),em = new ArrayList<>(),bi = new ArrayList<>(),ws = new ArrayList<>(),ca = new ArrayList<>(),fs = new ArrayList<>(),na = new ArrayList<>(),L = new ArrayList<>(),M = new ArrayList<>();此外,检查行是否包含预期的列数;也就是说,ids除非您确定所有行都具有,否则请检查数组是否包含您需要的所有元素。另外,我很确定有更好的方法来做你正在做的事情。如果您可以控制数据,也可以考虑使用 Gson/JSON。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java