在应用程序中打开csv文件时android应用程序崩溃
我在应用程序中使用opencsv,但每当我尝试读取我的csv文件时,应用程序都会崩溃。在应用程序中打开csv文件时android应用程序崩溃
下面是我使用的代码:
每当我尝试注释掉这些行,应用程序工作得很好。这可能是什么问题?
这里是每当我按一下按钮用于打开使用上面的代码的新的活动日志:
03-21 11:59:28.147: E/AndroidRuntime(825): FATAL EXCEPTION: main
03-21 11:59:28.147: E/AndroidRuntime(825): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.meralco.pms/com.meralco.pms.SinActivity}: java.lang.NullPointerException
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
03-21 11:59:28.147: E/AndroidRuntime(825): at android.os.Handler.dispatchMessage(Handler.java:99)
03-21 11:59:28.147: E/AndroidRuntime(825): at android.os.Looper.loop(Looper.java:123)
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.main(ActivityThread.java:4627)
03-21 11:59:28.147: E/AndroidRuntime(825): at java.lang.reflect.Method.invokeNative(Native Method)
03-21 11:59:28.147: E/AndroidRuntime(825): at java.lang.reflect.Method.invoke(Method.java:521)
03-21 11:59:28.147: E/AndroidRuntime(825): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-21 11:59:28.147: E/AndroidRuntime(825): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-21 11:59:28.147: E/AndroidRuntime(825): at dalvik.system.NativeStart.main(Native Method)
03-21 11:59:28.147: E/AndroidRuntime(825): Caused by: java.lang.NullPointerException
03-21 11:59:28.147: E/AndroidRuntime(825): at com.meralco.pms.SinActivity.onCreate(SinActivity.java:36)
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
03-21 11:59:28.147: E/AndroidRuntime(825): ... 11 more
请仔细阅读整个日志。
03-21 11:59:28.147: E/AndroidRuntime(825): Caused by: java.lang.NullPointerException
03-21 11:59:28.147: E/AndroidRuntime(825): at com.meralco.pms.SinActivity.onCreate(SinActivity.java:36)
见行数36,如果你做任何错误there.Post的onCreate代码,这样可以看看
希望这有助于。
经历的日志,发现线36个指向 'textResult.setText( “SINNNNNNNNNSSSSSSS”);'
BufferedReader CSVFile =
new BufferedReader(new FileReader(new InputStreamReader(getAssets().open("sample.csv")));
String dataRow = CSVFile.readLine();
while (dataRow != null){
String[] dataArray = dataRow.split(",");
for (String item:dataArray) {
System.out.print(item + "\t");
}
System.out.println();
dataRow = CSVFile.readLine();
}
// Close the file once all data has been read.
CSVFile.close();
**或* * 使用CSV阅读
CsvReader products = new CsvReader("sample.csv");
products.readHeaders();
while (products.readRecord())
{
String productID = products.get("field1");
String productName = products.get("field2");
String supplierID = products.get("field3");
String categoryID = products.get("field4");
}
products.close();
希望它对你有帮助
感谢您的这一点。可能很快就会需要它。 – yojoannn 2012-03-21 06:11:19
您可能无法获得资产sample.csv的InputStreamReader.where资产是您的csv – 2012-03-21 04:48:02