From dbf3839b084706f79623b38461a54c391ed635ff Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Mon, 23 Sep 2024 09:50:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3bug=E5=B0=9D=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/platform/utils/DVCUtils.java | 7 +++--- .../com/ruoyi/platform/utils/FileUtil.java | 23 +++++++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java index c46ef958..187fd9f1 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/DVCUtils.java @@ -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); } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java index 12ff7de3..d1894e8b 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/FileUtil.java @@ -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; + } + }