tomcat下的路径问题

在tomcat下 如果是根据类装载器获得某个需要修改的文件路径

就有可能在web项目部署的时候存在问题

比如这里有一个测试

package Junit.test;

public class test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String relativePath = "users.xml";
        String path=test.class.getClassLoader().getResource(relativePath).toString();
        System.out.println(path);
        System.out.println(path.substring(6));
    }

}

这个测试的主要目的 是获取当前文件同级目录下的users.xml的路径

测试结果为:

file:/C:/Users/Admin-Zhou/Workspaces/MyEclipse/Day09_usr/WebRoot/WEB-INF/classes/users.xml
C:/Users/Admin-Zhou/Workspaces/MyEclipse/Day09_usr/WebRoot/WEB-INF/classes/users.xml

是不是感觉比较符合 但是在tomcat中又存在一个问题

就是所有的/都必须是这样才表示目录

或者//才表示/,这样才能转义 所以我最后没有办法

只能

C:/Users/Admin-Zhou/Workspaces/MyEclipse/Day09_usr/WebRoot/WEB-INF/classes/users.xml

使用静态路径去得到这个文件路径

但是这样不方便我在服务器上部署 所以动态获取文件路径 我还在学习中

恐惧源于无知,代码改变世界
原文地址:https://www.cnblogs.com/ad-zhou/p/9027405.html