/**
* 拷贝数据库的方法
*@param string
* 2016-10-16 下午2:48:30
*/
private void copyDB(String dbName) {
//判断如果数据库已经拷贝成功,不需要再次拷贝
File file = new File(getFilesDir(), dbName);
if (!file.exists()) {
//打开assets中保存的资源
//1.获取assets目录的管理者
AssetManager assets = getAssets();
InputStream in=null;
FileOutputStream out = null;
try {
//2.读取数据资源
in = assets.open(dbName);
//getFilesDir() : data -> data -> 应用程序的包名 -> files
//getCacheDir() : data -> data -> 应用程序的包名 -> cache
out = new FileOutputStream(file);
//3.读写操作
byte[] b = new byte[1024];//缓冲区域
int len = -1; //保存读取的长度
while((len = in.read(b)) != -1){
out.write(b, 0, len);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if (in != null) {
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
Android中获取App的File路径,以及拷贝Asses目录下的文件
最新推荐文章于 2024-05-15 17:34:21 发布