**
拷贝一个目录到另一个目录
**
//重载方法
public static void copyDir(String srcDir,String desDir){
copyDir(new File(srcDir),new File(desDir));
}
/**
* 拷贝文件夹
* @param src 原目录
* @param des 目标目录
*/
public static void copyDir(File src,File des){
//创建一个新目录
des.mkdir();
//遍历原目录,得到其中的所有文件
File[] files=src.listFiles();
for (File file : files) {
//判断是否问文件夹
if (file.isFile()){
copyFile(file,new File(des,file.getName()));
}
else {
//进行递归
copyDir(file,new File(des,file.getName()));
}
}
}
/**
* 拷贝文件
* @param src 原文件
* @param des 目标文件
*/
public static void copyFile(File src,File des){
//要将文件中的数据进行拷贝
try(InputStream is=new FileInputStream(src);
OutputStream os=new FileOutputStream(des)){
//数据拷贝
byte[] b=new byte[1024];
int length=0;
while ((length=is.read(b))!=-1){
//将数据写入
os.write(b,0,length);
}
}catch (IOException e){
e.printStackTrace();
}
}