ฉันมีไฟล์ CSV คุณต้องย้ายฐานข้อมูล ฉันสร้างคลาสสำหรับการแยกวิเคราะห์และถ่ายโอนไปยังฐานข้อมูล แต่ค่อนข้างช้า การนำเข้าใช้เวลาประมาณสามนาที มีวิธีใดที่จะทำให้เร็วขึ้นหรือไม่? ฉันขอโทษสำหรับภาษาอังกฤษของฉัน ขอบคุณล่วงหน้า!
final String[] SCANCODES = {"CODEPRODUCT", "SCANCODE"};
dbSync.importCSV(SCANCODES, "SCANCODES.CSV", "SCANCODES");
////
.....
////
public void importCSV(String[] tableCol, String nameFile, String nameTable) {
final File DATABASE_DIRECTORY = new File(
Environment.getExternalStorageDirectory(), "ImportExport");
final File PATH = new File(DATABASE_DIRECTORY,"SCANCODES.CSV");
ContentValues cv = new ContentValues();
BufferedReader br = null;
String s = "";
boolean skipLines = true;
String[] data;
db.beginTransaction();
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(PATH), "Windows-1251"));
while ((s = br.readLine()) != null) {
//skip header
if (skipLines) {
skipLines = false;
continue;
}
//- 1 not skip blank
data = s.split(";", -1);
for (int i = 0; i < data.length - 1; ++i) {
cv.put(tableCol[i], data[i]);
}
db.insert(nameTable, null, cv);
}
db.setTransactionSuccessful();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
db.endTransaction();
br.close();
new Folder().deleteFolder();
} catch (IOException e) {
e.printStackTrace();
}
}
}
แก้ไข เพิ่มการเข้ารหัส
Reader
- person fge   schedule 18.03.2014