liusuyi
2024-07-12 d89e0182ad825d0926f4bc98e87d3b966056aac7
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
@@ -9,6 +9,13 @@
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.time.LocalDate;
import java.time.ZoneId;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -105,7 +112,24 @@
        }
        return flag;
    }
    /**
     * 删除文件夹
     *
     * @param filePath 文件夹
     * @return
     */
    public static void deleteFolder(String filePath) {
        File folder=new File(filePath);
        if (folder.isDirectory()) {
            File[] files = folder.listFiles();
            if (files != null) {
                for (File file : files) {
                    deleteFolder(file.getAbsolutePath());
                }
            }
        }
        folder.delete();
    }
    /**
     * 文件名称验证
     *
@@ -270,4 +294,38 @@
            return "";
        }
    }
    /**
     * @Author 刘苏义
     * @Description  删除今天之前的文件
     * @Date   2024/6/21 8:42
     * @Param
     * @return
     */
    public static void deleteNonTodayFiles(Path folderPath) {
        try {
            Files.walkFileTree(folderPath, new SimpleFileVisitor<Path>() {
                @Override
                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                    LocalDate fileDate = attrs.creationTime().toInstant()
                            .atZone(ZoneId.systemDefault()).toLocalDate();
                    LocalDate today = LocalDate.now();
                    if (!fileDate.equals(today)) {
                        Files.delete(file);
                        System.out.println("Deleted: " + file.toString());
                    }
                    return FileVisitResult.CONTINUE;
                }
                @Override
                public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
                    System.err.println("Failed to access file: " + file.toString());
                    return FileVisitResult.CONTINUE;
                }
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}