比如  有类test.java位于com.appleco.department下,
       有文件config.xml位于com.appleco下,    现要在test.java中访问config.xml,但是不想使用绝对路径"com/appleco/config.xml"来得到它,而想使用相对路径,类似于DOS的../config.xml,不知道java里面这个相对路径如何表示?

解决方案 »

  1.   

    public class ResourceLocator {    public static void main(String[] args) {
            String path = "../config.xml";
            URL url = ResourceLocator.class.getResource(path);
            System.out.println(url);
        }
    }
      

  2.   


    private InputStream getInputStream(){
    InputStream resourceAsStream = this.getClass().getResourceAsStream("../config.xml");
    return resourceAsStream;
    }
      

  3.   

    你已经给出了 java直接支持通用的相对定位
    一般还会用getBundle来管理调用资源 尤其是当有多语言需要
      

  4.   

    +wang
       +loafer
       -   +iyvbb
           -   +k.jsp
           -t.jsp
       +linjing
       -   +xingfu
           -    +w.jsp
    这时,
    k.jsp 要调用t.jsp时,相对路径为../t.jsp呀w.jsp要调用t.jsp时,相对路径为../../loafer/t.jsp  呀,w.jsp要调用k.jsp时,相对路径为../../loafer/iyvbb/k.jsp呀,
       
       
      

  5.   

    java语言里面有个路径叫当前工作目录。File currentWorkPath = new File(".")就可以得到。然后在这个目录上加上你的文件的相对路径就行了。
      

  6.   

    public class ResourceLocator {    public static void main(String[] args) {
            String path = "../config.xml";
            URL url = ResourceLocator.class.getResource(path);
            System.out.println(url);
        }
    }