package com.lf.server.helper;
|
|
import com.lf.server.config.PropertiesConfig;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.io.File;
|
|
/**
|
* 路径帮助类
|
* @author WWW
|
*/
|
@Component
|
public class PathHelper {
|
@Autowired
|
private PropertiesConfig propertiesConfig;
|
|
private static int MAX_FILES = 2000;
|
|
private static int importPath = 1;
|
|
private static int exportPath = 1;
|
|
private static int uploadPath = 1;
|
|
private static int sharePath = 1;
|
|
/**
|
* 初始化
|
*/
|
public void init() {
|
importPath = getSubPath(propertiesConfig.getImportPath(), importPath);
|
exportPath = getSubPath(propertiesConfig.getExportPath(), exportPath);
|
uploadPath = getSubPath(propertiesConfig.getUploadPath(), uploadPath);
|
sharePath = getSubPath(propertiesConfig.getSharePath(), sharePath);
|
}
|
|
private static int getSubPath(String parentPath, int subPath) {
|
while (true) {
|
String path = parentPath + File.separator + subPath;
|
|
File file = new File(path);
|
if (!file.exists() && !file.isDirectory()) {
|
file.mkdirs();
|
return subPath;
|
}
|
|
File[] files = file.listFiles();
|
if (files.length < MAX_FILES) {
|
return subPath;
|
}
|
|
subPath++;
|
}
|
}
|
|
/**
|
* 获取导入目录
|
*
|
* @return
|
*/
|
public String getImportPath() {
|
importPath = getSubPath(propertiesConfig.getImportPath(), importPath);
|
|
return propertiesConfig.getImportPath() + File.separator + importPath;
|
}
|
|
/**
|
* 获取出图目录
|
*
|
* @return
|
*/
|
public String getExportPath() {
|
exportPath = getSubPath(propertiesConfig.getExportPath(), exportPath);
|
|
return propertiesConfig.getExportPath() + File.separator + exportPath;
|
}
|
|
/**
|
* 获取上传目录
|
*
|
* @return
|
*/
|
public String getUploadPath() {
|
uploadPath = getSubPath(propertiesConfig.getUploadPath(), uploadPath);
|
|
return propertiesConfig.getUploadPath() + File.separator + uploadPath;
|
}
|
|
/**
|
* 获取共享目录
|
*
|
* @return
|
*/
|
public String getSharePath() {
|
sharePath = getSubPath(propertiesConfig.getSharePath(), sharePath);
|
|
return propertiesConfig.getSharePath() + File.separator + sharePath;
|
}
|
}
|