android - 导入外部的sqlite数据库,运行时报错打不开数据库.
天蓬老师
天蓬老师 2017-04-17 16:39:00
[Android讨论组]
private SQLiteDatabase openDatabase(String dbfile) {
    try {
        if (!(new File(dbfile).exists())) {
            //判断数据库文件是否存在,若不存在则执行导入,否则直接打开数据库
       File f = new File(DB_PATH);
            // 如 database 目录不存在,新建该目录
            if (!f.exists()) {
                f.mkdir();
            }
            try {
                InputStream is = this.context.getResources().openRawResource(
                        R.raw.onedic);
                // 输出流
                OutputStream os = new FileOutputStream(dbfile);
                // 文件写入
                byte[] buffer = new byte[1024];
                int length;
                while ((length = is.read(buffer)) > 0) {
                    os.write(buffer, 0, length);
                }
                // 关闭文件流
                os.flush();
                os.close();
                is.close();

        }catch (Exception e){
                e.printStackTrace();
            }
        }
            SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile,
                    null);
        return db;
    } catch (Exception e) {
        Log.e("Database", "File not found");
        e.printStackTrace();
    }
    return null;
}
这个是我把在assets文件下的数据库写入手机里面的部分代码
然后就报错:
![图片描述][1]

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
迷茫

为什么不直接读,而要先进行一下文件读写操作呢

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号