android 从存储卡复制文件到apk私有目录
2016-03-03 09:17
351 查看
String dexPath=null;
boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
File file=null;
String external="";
System.out.println(external);
if(sdCardExist){
dexPath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+filename;
file=new File(dexPath);
if(!file.exists()){
System.out.println("dex file not exist!:"+dexPath);
return ;
}else{
System.out.println(dexPath);
}
}
if(null==file){
System.out.println("文件不存在!");
external = System.getenv("EXTERNAL_STORAGE");
file=new File(external+"/"+filename);
}
String absoultepath=context.getFilesDir().getParentFile().getAbsolutePath()+"/app_"+inDir+"/"+filename;
System.out.println(absoultepath);
File sofiledir=context.getDir(inDir, context.MODE_PRIVATE);
File sofile=null;
try {
System.out.println("开始复制文件"+file.getAbsolutePath()+":"+file.length()+"字节");
FileInputStream fi=new FileInputStream(file);
sofile=new File(sofiledir.getAbsolutePath()+"/"+filename);
if(!sofile.exists()){
sofile.createNewFile();
}else{
sofile.delete();
sofile=new File(sofiledir.getAbsolutePath()+"/"+filename);
sofile.createNewFile();
}
FileOutputStream fo=new FileOutputStream(sofile);
byte[] buffer=new byte[1024];
int t=0;
while((t=fi.read(buffer))!=-1){
fo.write(buffer, 0, t);
}
fo.flush();
fo.close();
fi.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("复制后文件大小:"+sofile.getAbsolutePath()+">"+sofile.length());
if(sofile.length()==file.length()){
System.out.println("复制成功!"+filename+"文件大小为:"+sofile.length());
}else{
System.out.println("复制失败!");
}
boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
File file=null;
String external="";
System.out.println(external);
if(sdCardExist){
dexPath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+filename;
file=new File(dexPath);
if(!file.exists()){
System.out.println("dex file not exist!:"+dexPath);
return ;
}else{
System.out.println(dexPath);
}
}
if(null==file){
System.out.println("文件不存在!");
external = System.getenv("EXTERNAL_STORAGE");
file=new File(external+"/"+filename);
}
String absoultepath=context.getFilesDir().getParentFile().getAbsolutePath()+"/app_"+inDir+"/"+filename;
System.out.println(absoultepath);
File sofiledir=context.getDir(inDir, context.MODE_PRIVATE);
File sofile=null;
try {
System.out.println("开始复制文件"+file.getAbsolutePath()+":"+file.length()+"字节");
FileInputStream fi=new FileInputStream(file);
sofile=new File(sofiledir.getAbsolutePath()+"/"+filename);
if(!sofile.exists()){
sofile.createNewFile();
}else{
sofile.delete();
sofile=new File(sofiledir.getAbsolutePath()+"/"+filename);
sofile.createNewFile();
}
FileOutputStream fo=new FileOutputStream(sofile);
byte[] buffer=new byte[1024];
int t=0;
while((t=fi.read(buffer))!=-1){
fo.write(buffer, 0, t);
}
fo.flush();
fo.close();
fi.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("复制后文件大小:"+sofile.getAbsolutePath()+">"+sofile.length());
if(sofile.length()==file.length()){
System.out.println("复制成功!"+filename+"文件大小为:"+sofile.length());
}else{
System.out.println("复制失败!");
}
相关文章推荐
- Android开发艺术探索 第三章
- android:ems="10"是什么意思
- 【Android】17.3 Activity与StartedService的绑定
- Android虚拟机,控制台Console报错几例及解决办法
- android studio 查看方法注释
- 【Android】17.2 Activity与Local Service的绑定
- 【Android】17.1 Bound Services基本概念
- Android内存泄露分析(MemoryAnalyzer工具)
- 广师Android群分享之事件、消息的通知和回调
- Android消息机制之一---Looper
- 【Android】17.0 第17章 服务绑定—本章示例主界面
- Android内存优化五:Android垃圾回收器机制
- Android内存优化四:从代码角度进行优化
- Android内存优化三:对Bitmap的内存优化
- Android内存优化二:使用软引用和弱引用
- Android Studio首次运行卡在Fetching android SDK compoment information
- 2014 android毕设代做 代做Android毕设 安卓毕设
- android开发步步为营之65:解决ScrollView和ListView触摸事件onInterceptTouchEvent相互冲突问题
- 2015最流行的Android组件、工具、框架大全
- 一对多 pc上运行android客户端