最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
浅谈android中数据库的拷贝
时间:2022-06-25 23:25:37 编辑:袖梨 来源:一聚教程网
SQLiteDatabase不支持直接从assets读取文件,所以要提前拷贝数据库。在读取数据库时,先在项目中建立assets文件夹用于存放外部文件,将数据库文件拷到该目录下。
代码方法:
代码如下 | 复制代码 |
/** * 拷贝数据库至file文件夹下 * @param dbName 数据库名称 */ privatevoidinitAddressDB(String dbName) { //1,在files文件夹下创建同名dbName数据库文件过程 File files=getFilesDir();//获取/data/data//files目录 File file=newFile(files,dbName);//创建名为dbName的文件 if(file.exists()){ return; } //2.输入流读取第三方资产目录下的文件 InputStream stream=null; FileOutputStream fos=null; try{ stream=getAssets().open(dbName); //3,将读取的内容写入到指定文件夹的文件中去 fos=newFileOutputStream(file); byte[] bs=newbyte[1024]; inttemp=-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(); } } } } |
相关文章
- 《燕云十六声》配置要求介绍 12-25
- 《燕云十六声》搬砖介绍 12-25
- 时空中的绘旅人天宇之间怎么玩 绘旅人天宇之间活动玩法介绍 12-25
- QQ2024年度报告怎么看 2024qq年度报告玩法介绍 12-25
- 归龙潮珠砂什么时候up 归龙潮红缘绮梦卡池介绍 12-25
- 王者荣耀S38赛季有什么更新 12-25