Java获取根目录,读取配置文件

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配置文件。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。