android > 将assets 文件中的数据库导入 包里databases文件夹

43 篇文章 0 订阅

 

    public void checkData(){
        //app 的 数据库路径
        String dataPath = getApplicationContext().getDatabasePath("..").getAbsolutePath();
        dataPath = dataPath.replace("..","");//out:/data/data/com.test1/databases/
        // 数据库 文件 路径
        String dataFilePath = dataPath+"/zi_ci.db";
        // 数据库 文件
        File dataFile=new File(dataFilePath);


        //判断数据库文件是否存在
        if(dataFile.exists()){
            Log.d("mft","数据库文件已经存在");

        }else{
            Log.d("mft", "不存在数据库将准备创建");

            File path=new File(dataPath);
            if (path.mkdir()){
                Log.i("mft", "创建数据库文件夹成功");
            }else{
                Log.i("mft", "创建数据库文件夹失败");
            };
            try {
                //得到 assets 资源
                AssetManager assets_am= MainActivity.this.getAssets();
                //得到 assets 数据库文件的输入流
                InputStream is=assets_am.open("keyb_sqlite.db");
                //在包里的数据库文件夹里创建 数据库 空文件
                FileOutputStream fos=new FileOutputStream(dataFile);
                Log.i("mft", "fos="+fos);
                //创建byte数组  用于1KB写一次 写入 包里 刚才创建的 数据库 空文件
                byte[] buffer=new byte[1024];
                int count = 0;
                while((count = is.read(buffer))>0){
                    fos.write(buffer,0,count);
                }
                //最后关闭就可以了
                fos.flush();
                fos.close();
                is.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        //\\
    }

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值