休息食客

随心而动

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  16 随笔 :: 7 文章 :: 2 评论 :: 0 Trackbacks
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配置文件。

posted on 2015-01-30 15:01 休息食客 阅读(1311) 评论(1)  编辑  收藏 所属分类: java

评论

# re: Java获取根目录,读取配置文件 2015-01-31 18:03 京山游侠
mark。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: