? ? 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函数吗,只是写了个测试例子,代码都贴出来啦。你想调用,难道。。。你懂滴