导入csv时出现Android错误

时间:2014-04-19 19:45:00

标签: android sqlite import-from-csv

我正在尝试从CSV文件导入所有数据并覆盖SQLite数据库中表中的数据。我有这个方法,但我收到错误:

java.lang.IllegalArgumentException: Bad class: class java.lang.String


public void onClick(DialogInterface dialog, int which) {

    File root = Environment.getExternalStorageDirectory();
    File exportDir = new File(root.getAbsolutePath());
    File csvFile = new File(exportDir,"myfile.csv");
 try {
         deleteTable();
   ContentValues cv = new ContentValues();
  CSVReader dataRead = new CSVReader(new FileReader(csvFile));
   String[] vv = null;
   while((vv = dataRead.readNext())!=null) {
     SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
     String strDate = sdf.format( vv[0] );
            cv.clear();
     cv.put(Table.DATA,strDate);
     cv.put(Table.A,vv[1]);
     cv.put(Table.B,vv[2]);
     cv.put(Table.C,vv[3]);
     cv.put(Table.D,vv[4]);
     SQLiteDatabase db = mHelper.getWritableDatabase();
      db.insert(MyTable.TABLE_NAME,null,cv);

   }
   dataRead.close();

} catch (Exception e) {

}
 }

1 个答案:

答案 0 :(得分:1)

String strDate = sdf.format( vv[0] );

您无法使用SimpleDateFormat.format()格式化String

使用format()Date个对象转换为String个。使用parse()String转换为Date个对象。