首页 > 代码库 > android项目中,数据库复制问题

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

android项目中,数据库复制问题