| | |
| | | |
| | | import com.lf.server.config.PropertiesConfig; |
| | | import com.lf.server.entity.all.SettingData; |
| | | import org.apache.commons.logging.Log; |
| | | import org.apache.commons.logging.LogFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.io.File; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 路径帮助类 |
| | |
| | | @Autowired |
| | | private PropertiesConfig config; |
| | | |
| | | private static int importPath = 1; |
| | | private static int downloadPath = 1; |
| | | |
| | | private static int exportPath = 1; |
| | | |
| | |
| | | |
| | | private static int sharePath = 1; |
| | | |
| | | private final static double D90 = 90; |
| | | |
| | | private final static Log log = LogFactory.getLog(PathHelper.class); |
| | | |
| | | public PropertiesConfig getConfig() { |
| | | return config; |
| | | } |
| | | |
| | | public static int getImportPath() { |
| | | return importPath; |
| | | public static int getDownloadPath() { |
| | | return downloadPath; |
| | | } |
| | | |
| | | public static int getExportPath() { |
| | |
| | | * 初始化 |
| | | */ |
| | | public void init() { |
| | | importPath = getSubPath(config.getImportPath(), importPath); |
| | | downloadPath = getSubPath(config.getDownloadPath(), downloadPath); |
| | | exportPath = getSubPath(config.getExportPath(), exportPath); |
| | | uploadPath = getSubPath(config.getUploadPath(), uploadPath); |
| | | sharePath = getSubPath(config.getSharePath(), sharePath); |
| | |
| | | |
| | | /** |
| | | * 获取导入目录 |
| | | * |
| | | * @return |
| | | */ |
| | | public String getImportFullPath() { |
| | | importPath = getSubPath(config.getImportPath(), importPath); |
| | | downloadPath = getSubPath(config.getDownloadPath(), downloadPath); |
| | | |
| | | return config.getImportPath() + File.separator + importPath; |
| | | return config.getDownloadPath() + File.separator + downloadPath; |
| | | } |
| | | |
| | | /** |
| | | * 获取出图目录 |
| | | * |
| | | * @return |
| | | */ |
| | | public String getExportFullPath() { |
| | | exportPath = getSubPath(config.getExportPath(), exportPath); |
| | |
| | | |
| | | /** |
| | | * 获取上传目录 |
| | | * |
| | | * @return |
| | | */ |
| | | public String getUploadFullPath() { |
| | | uploadPath = getSubPath(config.getUploadPath(), uploadPath); |
| | |
| | | |
| | | /** |
| | | * 获取共享目录 |
| | | * |
| | | * @return |
| | | */ |
| | | public String getShareFullPath() { |
| | | sharePath = getSubPath(config.getSharePath(), sharePath); |
| | | |
| | | return config.getSharePath() + File.separator + sharePath; |
| | | } |
| | | |
| | | /** |
| | | * 获取临时路径 |
| | | */ |
| | | public String getTempPath(int id) { |
| | | String tempName = StringHelper.YMD__FORMAT.format(new Date()); |
| | | String tempPath = config.getTempPath(); |
| | | String path = tempPath + File.separator + tempName + id; |
| | | |
| | | File file = new File(path); |
| | | if (!file.exists() && !file.isDirectory()) { |
| | | file.mkdirs(); |
| | | } |
| | | |
| | | double ran = Math.random() * 99; |
| | | if (ran > D90) { |
| | | deleteOldPath(tempPath); |
| | | } |
| | | |
| | | return path; |
| | | } |
| | | |
| | | /** |
| | | * 删除旧路径 |
| | | */ |
| | | public void deleteOldPath(String tempPath) { |
| | | try { |
| | | 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) { |
| | | continue; |
| | | } |
| | | |
| | | 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(); |
| | | } |
| | | } |