public class WebInfoPathUtil {
/**
* log4j
*/
private static final Logger logger = Logger.getLogger(WebInfoPathUtil.class);
/**
*
* getWebInfoRealPath 获取绝对路径
*
* @return
*/
public static String getWebInfoRealPath() {
try {
URL url = WebInfoPathUtil.class.getResource("");
String path = url.toString();
int index = path.indexOf("WEB-INF");
if (index == -1) {
index = path.indexOf("classes");
}
if (index == -1) {
index = path.indexOf("bin");
}
path = path.substring(0, index);
if (path.startsWith("zip")) {// 当class文件在war中时,此时返回zip:D:/...这样的路径
path = path.substring(4);
} else if (path.startsWith("file")) {// 当class文件在class文件中时,此时返回file:/D:/...这样的路径
path = path.substring(6);
} else if (path.startsWith("jar")) {// 当class文件在jar文件里面时,此时返回jar:file:/D:/...这样的路径
path = path.substring(10);
}
path = URLDecoder.decode(path, "UTF-8");
// 获取系统的文件符号
String separator = File.separator;
if ("/".equals(separator)) {
path = "/" + path;
}
return path;
} catch (UnsupportedEncodingException e) {
logger.error("获取项目的绝对路径异常!", e);
return null;
} catch (Exception e) {
logger.error("获取项目的绝对路径异常!", e);
return null;
}
}
}
/**
* log4j
*/
private static final Logger logger = Logger.getLogger(WebInfoPathUtil.class);
/**
*
* getWebInfoRealPath 获取绝对路径
*
* @return
*/
public static String getWebInfoRealPath() {
try {
URL url = WebInfoPathUtil.class.getResource("");
String path = url.toString();
int index = path.indexOf("WEB-INF");
if (index == -1) {
index = path.indexOf("classes");
}
if (index == -1) {
index = path.indexOf("bin");
}
path = path.substring(0, index);
if (path.startsWith("zip")) {// 当class文件在war中时,此时返回zip:D:/...这样的路径
path = path.substring(4);
} else if (path.startsWith("file")) {// 当class文件在class文件中时,此时返回file:/D:/...这样的路径
path = path.substring(6);
} else if (path.startsWith("jar")) {// 当class文件在jar文件里面时,此时返回jar:file:/D:/...这样的路径
path = path.substring(10);
}
path = URLDecoder.decode(path, "UTF-8");
// 获取系统的文件符号
String separator = File.separator;
if ("/".equals(separator)) {
path = "/" + path;
}
return path;
} catch (UnsupportedEncodingException e) {
logger.error("获取项目的绝对路径异常!", e);
return null;
} catch (Exception e) {
logger.error("获取项目的绝对路径异常!", e);
return null;
}
}
}