首页 > 系统 > Android > 正文

浅谈android中数据库的拷贝

2019-12-12 03:24:16
字体:
来源:转载
供稿:网友

SQLiteDatabase不支持直接从assets读取文件,所以要提前拷贝数据库。在读取数据库时,先在项目中建立assets文件夹用于存放外部文件,将数据库文件拷到该目录下。

代码方法:

 /**   * 拷贝数据库至file文件夹下   * @param dbName 数据库名称   */  private void initAddressDB(String dbName) {    //1,在files文件夹下创建同名dbName数据库文件过程    File files=getFilesDir();//获取/data/data//files目录    File file=new File(files,dbName);//创建名为dbName的文件    if(file.exists()){      return;    }    //2.输入流读取第三方资产目录下的文件    InputStream stream=null;    FileOutputStream fos=null;    try {      stream=getAssets().open(dbName);      //3,将读取的内容写入到指定文件夹的文件中去      fos=new FileOutputStream(file);      byte[] bs=new byte[1024];      int temp=-1;      while((temp=stream.read(bs))!=-1){        fos.write(bs,0,temp);      }    } catch (IOException e) {      e.printStackTrace();    }finally {      if(stream!=null&&fos!=null){        try {          stream.close();          fos.close();        } catch (IOException e) {          e.printStackTrace();        }      }    }  }

以上这篇浅谈android中数据库的拷贝就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表