如果数据库不存在,我想将数据库从txt写入数据库:
File database=getApplicationContext().getDatabasePath("commments.db");
if (!database.exists()) {
// Database does not exist so copy it from assets here
try {
txtToDb();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i("Database", "Not Found");
} else {
Log.i("Database", "Found");
}
它不起作用,数据库被反复填充。我做错了什么?
更新: txtToDb():
public void txtToDb () throws IOException {
InputStream is =getResources().openRawResource(R.raw.data);
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
byte[] myData = baf.toByteArray();
String dataInString = new String(myData);
String[] lines = dataInString.split("\n");
for (int i=0; i<lines.length; i++){
comment = datasource.createComment(lines[i]);
// adapter.add(comment);
}
writeDbToSd();
}
DbToSd()将DB写入SDCARD,以便我可以使用adb pull来查看它。这两个功能都可以自行运行。 createComment将解析后的字符串添加到另一个函数的数据库中。