public class ProjectPathUtils {
public static final String CONFIG_FOLDER = "config";
public static String getRunTimePath(){
return System.getProperty("user.dir");
}
public static String getClassesPath(){
URL path = Thread.currentThread().getContextClassLoader().getResource("");//.getPath();
return path.getPath();
}
public static String getConfigPath(boolean isJarRun){
if(isJarRun){
return ProjectPathUtils.getRunTimePath() + File.separator + CONFIG_FOLDER;
}
return ProjectPathUtils.getClassesPath() + File.separator + CONFIG_FOLDER;
}
public static String getPath(String fileName) {
String filePath = System.getProperty("user.dir") + File.separator + fileName;
if (new File(filePath).exists()) {
return filePath;
}
URL url = ProjectPathUtils.class.getClassLoader().getResource(fileName);
if (url != null && new File(url.getPath()).exists()) {
String urlPath = url.getPath();
return urlPath;
}
return null;
}
public static String getPath(String fileName, String encoding) {
String filePath = System.getProperty("user.dir") + File.separator + fileName;
if (new File(filePath).exists()) {
return filePath;
}
URL url = ProjectPathUtils.class.getClassLoader().getResource(fileName);
if (url == null) {
return null;
}
try {
filePath = URLDecoder.decode(url.getPath(), encoding) ;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
if (new File(filePath).exists()) {
return filePath;
}
return null;
}
}