Saya punya file csv, Anda perlu memigrasi database. Saya membuat kelas untuk parsing dan transfer ke database, tetapi cukup lambat. Impor memakan waktu sekitar tiga menit. Apakah ada cara untuk membuatnya lebih cepat? Saya minta maaf atas bahasa Inggris saya. Terima kasih sebelumnya!
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();
}
}
}
EDIT Menambahkan pengkodean
Reader
- person fge   schedule 18.03.2014