管道基础大数据平台系统开发-【后端】-Server
13693261870
2022-11-21 dfa4fd206b390a3afee9769fe1953b692a1eac9a
src/main/java/com/lf/server/helper/PathHelper.java
@@ -21,8 +21,6 @@
    private static int downloadPath = 1;
    private static int exportPath = 1;
    private static int uploadPath = 1;
    private static int sharePath = 1;
@@ -39,10 +37,6 @@
        return downloadPath;
    }
    public static int getExportPath() {
        return exportPath;
    }
    public static int getUploadPath() {
        return uploadPath;
    }
@@ -56,7 +50,6 @@
     */
    public void init() {
        downloadPath = getSubPath(config.getDownloadPath(), downloadPath);
        exportPath = getSubPath(config.getExportPath(), exportPath);
        uploadPath = getSubPath(config.getUploadPath(), uploadPath);
        sharePath = getSubPath(config.getSharePath(), sharePath);
    }
@@ -72,7 +65,7 @@
            }
            File[] files = file.listFiles();
            if (files.length < SettingData.MAX_FILES) {
            if (null == files || files.length < SettingData.MAX_FILES) {
                return subPath;
            }
@@ -81,25 +74,16 @@
    }
    /**
     * 获取导入目录
     * 获取下载完整目录
     */
    public String getImportFullPath() {
    public String getDownloadFullPath() {
        downloadPath = getSubPath(config.getDownloadPath(), downloadPath);
        return config.getDownloadPath() + File.separator + downloadPath;
    }
    /**
     * 获取出图目录
     */
    public String getExportFullPath() {
        exportPath = getSubPath(config.getExportPath(), exportPath);
        return config.getExportPath() + File.separator + exportPath;
    }
    /**
     * 获取上传目录
     * 获取上传完整目录
     */
    public String getUploadFullPath() {
        uploadPath = getSubPath(config.getUploadPath(), uploadPath);
@@ -108,7 +92,7 @@
    }
    /**
     * 获取共享目录
     * 获取共享完整目录
     */
    public String getShareFullPath() {
        sharePath = getSubPath(config.getSharePath(), sharePath);
@@ -119,22 +103,53 @@
    /**
     * 获取临时路径
     */
    public String getTempPath(int id) {
        String tempName = StringHelper.YMD__FORMAT.format(new Date());
        String tempPath = config.getTempPath();
        String path = tempPath + File.separator + tempName + id;
    public String getTempPath() {
        String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date());
        String path = config.getTempPath() + File.separator + tempName;
        File file = new File(path);
        if (!file.exists() && !file.isDirectory()) {
            file.mkdirs();
        }
        double ran = Math.random() * 99;
        if (ran > D90) {
            deleteOldPath(tempPath);
        }
        deleteOldPath(config.getTempPath());
        return path;
    }
    /**
     * 获取临时路径
     */
    public String getTempPath(String subPath) {
        if (!StringHelper.isEmpty(subPath)) {
            String path = config.getTempPath() + File.separator + subPath;
            File file = new File(path);
            if (file.exists() && file.isDirectory()) {
                return path;
            }
        }
        deleteOldPath(config.getTempPath());
        return getTempPath();
    }
    /**
     * 获取临时路径名称
     */
    public String getTempPathName() {
        String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date());
        String path = config.getTempPath() + File.separator + tempName;
        File file = new File(path);
        if (!file.exists() && !file.isDirectory()) {
            file.mkdirs();
        }
        deleteOldPath(config.getTempPath());
        return tempName;
    }
    /**
@@ -142,40 +157,24 @@
     */
    public void deleteOldPath(String tempPath) {
        try {
            double ran = Math.random() * 99;
            if (ran < D90) {
                return;
            }
            File file = new File(tempPath);
            String str = StringHelper.YMD__FORMAT.format(new Date());
            File[] files = file.listFiles();
            for (File f : files) {
                if (f.getPath().indexOf(str) > -1) {
                if (f.getPath().contains(str)) {
                    continue;
                }
                deleteFiles(f);
                FileHelper.deleteFiles(f);
            }
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }
    }
    /**
     * 级联删除文件
     */
    public void deleteFiles(File file) {
        if (file == null || !file.exists()) {
            return;
        }
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (File f : files) {
                if (f.isDirectory()) {
                    deleteFiles(f);
                } else {
                    f.delete();
                }
            }
        }
        file.delete();
    }
}