public static void copyFolderFile(String srcFile, String destFile) {
try {
if (StrUtil.isNotEmpty(srcFile) && StrUtil.isNotEmpty(destFile)) {
File src_file = new File(srcFile);
File[] arg1 = src_file.listFiles();
File dest_file = new File(destFile);
if (!dest_file.exists()) {
dest_file.mkdirs();
}else if(!src_file.isDirectory()){
return;
}
for (int i = 0; i < arg1.length; i++) {
String nextFile = destFile + File.separator + arg1[i].getName();
if (arg1[i].isDirectory()) {
copyFolderFile(arg1[i].getAbsolutePath(), nextFile);
} else if (arg1[i].isFile()) {//拷贝文件
FileInputStream input = new FileInputStream(arg1[i]);//读取远程的文件内容
if (new File(nextFile).exists()) {//存放目的地的文件存在.判断是否能够删除
if(StrUtil.isEqual(DigestUtils.md5DigestAsHex(new FileInputStream(nextFile)),DigestUtils.md5DigestAsHex(input))){
input.close();
continue;
}
}else{
FileOutputStream output = new FileOutputStream(nextFile);
byte[] b = new byte[5120];
int len;
while ((len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
}
}
}
} catch (Exception e) {
}
}
java-高频率文件夹复制
于 2022-05-11 18:01:26 首次发布