从assets拷贝数据库到file目录

来源:互联网 发布:网络节点怎么查 编辑:程序博客网 时间:2024/05/17 22:42
简单拷贝已有数据库到APP目录的file目录下以作查询需要
// asserts目录下拷贝文件到filesprivate void copyDB() {    // 获取输出流,文件存储目录:data/data/包名/files目录下,文件名相同    File file = new File(getFilesDir(), "bearya.db");    // 当文件不存在的时候:才去拷贝,已经存在的不再去拷贝了。    if (!file.exists()) {        AssetManager assetManager = getAssets();        try {            // 获取输入流            InputStream is = assetManager.open("bearya.db");            FileOutputStream fos = new FileOutputStream(file);            // 开始读和写            byte[] bys = new byte[1024];            int len;            while ((len = is.read(bys)) != -1) {                fos.write(bys, 0, len);            }            is.close();            fos.close();        } catch (Exception e) {            e.printStackTrace();        }    }

}

//模糊查询数据库

private Cursor queryDatabase(String cmd) {    String path = getFilesDir() + "/bearya.db";    stuDb = SQLiteDatabase.openOrCreateDatabase(path, null);    Cursor rawQuery = stuDb.rawQuery("SELECT * from by_speech_cmd where input like '%" + cmd + "%'", null);    rawQuery.moveToFirst();    return rawQuery;}

1 0
原创粉丝点击