package com.xieer.CopyFile;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FileDemo {
public static void copyFolder(String oldPath, String newPath)throws Exception{
File o = new File(oldPath);
File n = new File(newPath);
n.mkdirs(); //生新的成指定的目录
String[] childs = o.list(); //把原文件夹内的文件列成一个String数组
File temp=null; //申明一个临时的变量来储存这个路径
if (childs !=null) {//来判断childs的目录是不是为空
for (int i = 0; i < childs.length; i++) {
// System.out.println(childs[i]);
if (oldPath.endsWith(File.separator)) { //首先判断路径末尾\\(两种情况一种是文件夹 ,另外一种是文件)
temp = new File(oldPath+childs[i]);
}else{
temp = new File(oldPath+File.separator+childs[i]);
}
if(temp.isFile()){ //如果是文件录入新文件中
FileInputStream fis = new FileInputStream(temp);
//使用字节流
FileOutputStream fos = new FileOutputStream(newPath+File.separator+temp.getName());
int num;
while((num = fis.read())!=-1 ){
fos.write(num);
}
fos.close();
fis.close();
}
if (temp.isDirectory()) { //如果是文件夹===》递归调用
copyFolder(oldPath+File.separator+childs[i],newPath+File.separator+childs[i]);
}
}
}