递归复制一个文件夹
public class Test6 {
public static void main(String[] args) {
String srcPath="E:\\a";
File src=new File(srcPath);
String destPath="E:\\a1";
File dest=new File(destPath);
copyDir(src, dest);
}
public static void copyDir(File src, File dest) {
if(src.isDirectory()){
File temp = new File(dest, src.getName());
temp.mkdirs();
File[] files = src.listFiles();
for (File file : files) {
copyDir(file, temp);
}
}else{
copyFile(src, new File(dest,src.getName()));
}
}
public static void copyFile(File src, File dest) {
try (InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dest))
{
int len = 0;
byte[] bys = new byte[1024];
while ((len = in.read(bys)) != -1) {
out.write(bys, 0, len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}