2012-03-21 110 views
0

我在應用程序中使用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 
+0

您可能無法獲得資產sample.csv的InputStreamReader.where資產是您的csv – 2012-03-21 04:48:02

回答

0

請仔細閱讀整個日誌。

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代碼,這樣可以看看

希望這有助於。

+0

經歷的日誌,發現線36個指向 'textResult.setText( 「SINNNNNNNNNSSSSSSS」);' figured'android:src =「@ + id/text」'should should''android:id =「@ + id/text」' changed它現在我的代碼工作! :) 謝謝! – yojoannn 2012-03-21 06:07:57

0
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(); 

希望它對你有幫助

+0

感謝您的這一點。可能很快就會需要它。 – yojoannn 2012-03-21 06:11:19