Browse Source

解决bug尝试

dev-DXTZYK
chenzhihang 1 year ago
parent
commit
dbf3839b08
2 changed files with 27 additions and 3 deletions
  1. +4
    -3
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java
  2. +23
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java

+ 4
- 3
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java View File

@@ -83,10 +83,11 @@ public class DVCUtils {

// 检查是否目录存在
if (Files.exists(directory)) {
FileUtil.deleteDir(dirPath);
// 使用Files.walk来删除目录及其内容
Files.walk(directory)
.sorted((path1, path2) -> path2.compareTo(path1)) // 先删除子文件夹,再删除父文件夹
.forEach(this::deletePath);
// Files.walk(directory)
// .sorted((path1, path2) -> path2.compareTo(path1)) // 先删除子文件夹,再删除父文件夹
// .forEach(this::deletePath);
}
}



+ 23
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java View File

@@ -102,4 +102,27 @@ public class FileUtil {
return fileInfoList;
}


public static boolean deleteDir(String path){
File file = new File(path);
if(!file.exists()){//判断是否待删除目录是否存在
System.err.println("文件夹不存在");
return false;
}

String[] content = file.list();//取得当前目录下所有文件和文件夹
for(String name : content){
File temp = new File(path, name);
if(temp.isDirectory()){//判断是否是目录
deleteDir(temp.getAbsolutePath());//递归调用,删除目录里的内容
temp.delete();//删除空目录
}else{
if(!temp.delete()){//直接删除文件
System.err.println(name+":删除失败!");
}
}
}
return true;
}

}

Loading…
Cancel
Save