如何在不使用资产中复制 .db 文件内容的情况下将 .db 文件从资产放入 data/data/packagename/。我不想创建数据库,因为将 .db 文件放入资产中是没有用的。我对此进行了探索,但所有人都在再次创建数据库,但我只想直接放置该 .db 文件。
问问题
4532 次
1 回答
8
用这个
private void copyDataBase() throws IOException {
// Open your local db as the input stream
InputStream myInput = myContext.getAssets().open(DB_NAME);
// Path to the just created empty db
String outFileName = "/data/data/"
+getApplicationContext().getPackageName()
+ "/databases/" + DB_NAME;
// Open the empty db as the output stream
OutputStream myOutput = new FileOutputStream(outFileName);
// transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
// Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}
于 2013-01-17T12:55:51.640 回答