package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class Application{
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
String srcFolder=cin.nextLine();
String destFolder=cin.nextLine();
copyFolder(srcFolder, destFolder);
}
public static void copyFolder(String srcFolder,String destFolder) {
File file=new File(srcFolder);
File file2=new File(destFolder);
byte[] b=new byte[(int)file.length()];
dfs(file,destFolder);
}
public static void copyFile(File srcfile,String destFolder) {
String string=destFolder+"\\"+srcfile.getName();
File file=new File(string);
file.getParentFile().mkdirs();
try {
file.createNewFile();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
byte[] b=null;
try(FileInputStream fis=new FileInputStream(srcfile)) {
b=new byte[(int)srcfile.length()];
fis.read(b);
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
try (FileOutputStream fos=new FileOutputStream(file)){
fos.write(b);
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
public static void dfs(File file,String destFolder) {
String strtemp=destFolder;
File[] fs=file.listFiles();
for(File f:fs)
{
if(f.isDirectory()) { //文件夹继续深搜
String str=destFolder+"\\"+f.getName();
File file2=new File(str);
file2.mkdirs();
destFolder=destFolder+"\\"+file2.getName();
dfs(f,destFolder);
destFolder=strtemp;
}
else {
copyFile(f,destFolder);
}
}
}
}
更多Java详细内容: