android > 将assets 文件中的数据库导入 包里databases文件夹
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();
}
}
//\\
} 相关推荐
林德强之原创 2020-08-13
PlumRain 2020-08-03
bob于 2020-07-26
dataminer 2020-06-25
neverstopforcode 2020-06-18
zxznsjdsj 2020-06-16
langyue 2020-06-13
huangyx 2020-06-11
鲁氏汤包王 2020-06-11
LWLWLiang 2020-05-28
wkwanglei 2020-05-26
Coohx 2020-04-13
thunderstorm 2020-05-09
Andrea0 2020-05-04
数据库工具开发 2020-04-25
tlsmile 2020-04-24
helencoder 2020-04-10