android项目中,数据库复制问题
============问题描述============
用java io流复制后的sqlite3数据库文件,中文数据查询不出来,诸位是否遇到过这种问题,帮我解答一下
============解决方案1============
private void dbImport()
{
try
{
File dir = new File(DATABASE_PATH);
// 如果/sdcard/testdb目录中存在,创建这个目录
if (!dir.exists())
dir.mkdir();
// 如果在/sdcard/testdb目录中不存在
// test.db文件,则从asset\db目录中复制这个文件到
// SD卡的目录(/sdcard/testdb)
if (!(new File(databaseFilename2)).exists())
{
// File f = (new File(databaseFilename2));
// f.delete();
// 获得封装testDatabase.db文件的InputStream对象
AssetManager asset = getAssets();
InputStream is = asset.open("db/database.db");
FileOutputStream fos = new FileOutputStream(databaseFilename2);
byte[] buffer = new byte[1024];
int count = 0;
// 开始复制testDatabase.db文件
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count);
}
fos.close();
is.close();
// asset.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
// deleteDatabase("testDatabase.db");//删除数据库
}
这是我原来写的导入db方法。也没用到encoding。日文数据库,没问题。
============解决方案2============
参考:
http://download.csdn.net/detail/fire_fire_fire/5290315
浙公网安备 33010602011771号