话不多说,直接上代码:
public class Global {
protected Logger log = LoggerFactory.getLogger(getClass());
private static String sysRootPath="";
private static String classpath = "";
static{
classpath = Global.class.getResource("/").getPath();
classpath = classpath.substring(1,classpath.length()-1);
if (!classpath.substring(0, 1)
.equals("/")
&& !classpath.substring(1, 2)
.equals(":")) {
classpath = "/" + classpath;
}
/**
* 系统根路径
*/
sysRootPath = classpath;
if(sysRootPath != null){
File f = new File(sysRootPath);
sysRootPath = f.getParentFile().getParent();
sysRootPath = sysRootPath.replaceAll("\\\\","/");
}
}
public static String getClassPath(){
return classpath;
}
public static String getSysRootPath(){
return sysRootPath;
}
写好如上代码后,直接用Global.getSysRootPath( )就可得到系统根路径了
//上述方法获取到的路径空格部分会出现%20,采用以下办法可以将其正常显示
path = URLDecoder.decode(path,"utf-8");