【发布时间】:2014-05-08 06:01:14
【问题描述】:
我现在正在尝试从 android 设备的 sd 卡中的某个目录导入 csv 文件。最近,我可以成功导入单个csv文件。但是,我不知道如何获取所有 csv 文件的列表,然后使用循环逐个导入 csv 文件。
这是我导入单个 csv 的代码:
button_import_csv.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
DatabaseHelper helper = new DatabaseHelper(getApplicationContext());
SQLiteDatabase db = helper.getWritableDatabase();
try{
FileReader file = new FileReader("/sdcard/downloadedfolder/A1/adv_sales_order.csv");
BufferedReader buffer = new BufferedReader(file);
ContentValues contentValues=new ContentValues();
String line = "";
String tableName ="adv_sales_order";
db.beginTransaction();
while ((line = buffer.readLine()) != null) {
String[] str = line.split("\t");
contentValues.put("order_date", str[0]);
contentValues.put("cust_code", str[1]);
contentValues.put("customer_ref_no", str[2]);
contentValues.put("line_no", str[3]);
contentValues.put("item_code", str[4]);
contentValues.put("tran_code", str[5]);
contentValues.put("order_qty", str[6]);
db.insert(tableName, null, contentValues);
}
db.setTransactionSuccessful();
db.endTransaction();
}catch (IOException e){
}
}
});
不同的csv文件的列是不一样的。(例如,有些可能有4列名为A、B、C、D,而另一种可能有4列名为C、D、E、F)除了hard为每个csv文件编码所有列,有什么可能的方法吗? 谁能告诉我任何解决方案???谢谢。
【问题讨论】:
-
我在您添加编辑时发布了我的答案,所以我没有发现它。所以你的问题是列名不同吗? csv 的第一行是否包含列名?