普通JAVA获取WEB项目下的WEB-INF目录
JAVA Web项目获取物理根目录绝对路径
package com.path;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
/**
* 普通JAVA获取 WEB项目下的WEB-INF目录
* @author wang
*
*/
public class PathUtil {
public static void main(String[] args) {
PathUtil pathUtil = new PathUtil();
System.out.println("path=="+pathUtil.getWebInfPath());
}
private String getWebInfPath(){
URL url = getClass().getProtectionDomain().getCodeSource().getLocation();
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);
}
try {
path = URLDecoder.decode(path, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return path;
}
}
1 楼
勇-高
2012-05-12
getWebInfPath()应该声明为public而不是private类型
2 楼
打了个D
2012-05-13
勇-高 写道
getWebInfPath()应该声明为public而不是private类型
晕,你没看我这类里面有个main函数吗,只是写了个测试例子,代码都贴出来啦。你想调用,难道。。。你懂滴