Java获取根目录,读取配置文件
String path = InterfaceConfig.class.getResource("").getPath().toString();//获取类所在路径
if (path.contains(".jar")) {
path = path.replace("/", File.separator);//将/换成\,如果是linux环境,还是/
path = path.replace("file:", "");//去掉file
path = path.replace("classes\\", "");//去掉classes\
if (path.startsWith("\\")) {
path = path.substring(1);//去掉第一个\,如:、\D:\TongWeb... ,在linux上没有这种情况
}
path = path.split("WEB-INF")[0]+"WEB-INF"+File.separator+"classes";
} else {
path = InterfaceConfig.class.getResource("/").getPath().toString();//获取根路径
}
File file = new File(path + File.separator + "InterfaceConfig.xml");
这段代码什么意思呢?
1、第一行是获取InterfaceConfig.class这个类所在的路径,这个InterfaceConfig.class可以换成你这段代码所在的类。
2、判断路径中是否包含.jar,就是说这段代码所在的类最终构建的时候是不是打入jar包里,如果在jar包里,就去掉一些内容,如file: ,classes\\,
然后根据WEB-INF切割,并拼出根目录。
3、如果没有打入jar包,那更简单了,直接通过获取根路径方法就解决了。
4、最后读取classes路径下的InterfaceConfig.xml配置文件。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。