您的位置:首页 > 运维架构 > Linux

android 获取指定路径下所有文件,将文件从一个目录copy到另一个目录,执行linux命令

2013-11-26 11:04 981 查看
/**
* 复制整个文件夹内容  ,可以从data/data/包名下 拷贝到 data/data/包名下。也可以copy到 /sdcard 下

* @param oldPath String 原文件路径 如:c:/fqf
* @param newPath String 复制后路径 如:f:/fqf/ff
* @return boolean
*/
public void copyFolder(String oldPath, String newPath) {

try {
(new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹
File a=new File(oldPath);
String[] file=a.list();
File temp=null;
Log.d(TAG,"test len:"+file.length);

for (int i = 0; i < file.length; i++) {
if(oldPath.endsWith(File.separator)){
temp=new File(oldPath+file[i]);
}
else{
temp=new File(oldPath+File.separator+file[i]);
}
Log.d(TAG,"newPath:"+i+"file:"+file[i]);
if(temp.isFile()&&(temp.toString()).endsWith("apk")){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(new File(newPath + "/" +(temp.getName()).toString()));
byte[] b = new byte[1024 * 5];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
//                   if(temp.isDirectory()){//如果是子文件夹
//                       copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
//                   }
}

Runtime rt = Runtime.getRuntime();
rt.exec("rm -r /data/data/com.egreat.onekeyapk/cache/appDir/");
rt.exec("sync  /r");
}
catch (Exception e) {
Log.d(TAG,"copy fail:");
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: