待拷贝的文件夹内容
代码实现
public static void main(String[] args) {
File srcDir = new File("./dss");
File destDir = new File("./dss_copy");
copyDir(srcDir, destDir);
}
public static void copyDir(File srcDir, File destDir) {
if (!destDir.exists()) {
// 如果文件不存在,创建文件夹(包括子文件夹)
destDir.mkdir();
}
Arrays.stream(srcDir.listFiles()).forEach(file -> {
if (file.isDirectory()) {
// 如果是文件夹,则递归调用
copyDir(file, new File(destDir, file.getName()));
} else {
// 如果是文件,则直接复制
try {
FileInputStream fileInputStream = new FileInputStream(file);
File destFile = new File(destDir, file.getName());
FileOutputStream fileOutputStream = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
int len;
while ((len = fileInputStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, len);
}
fileInputStream.close();
fileOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
结果
评论区