通常用读取配置文件的方式进行程序里面的一些配置,无论是properties 还是解析xml
都涉及到文件路径问题,这个路径也是不应该写死的,所以大部分都采用classpath的方式,但是取得他的路径我就很混乱了,
class.getClassLoader.getResource...........
getResourceAsStream......
Thread.currentThread.getResource............等等等,这些方法到底是怎么确定路径的?
请高人解答,看过API了,还是不太清楚

解决方案 »

  1.   

    http://jiasudu.javaeye.com/blog/126101
    运行下看输出什么就明白了package com;public class Information {
     public static void main(String args[]) {   
            System.out.println("java_vendor:" + System.getProperty("java.vendor"));   
            System.out.println("java_vendor_url:"   
                    + System.getProperty("java.vendor.url"));   
            System.out.println("java_home:" + System.getProperty("java.home"));   
            System.out.println("java_class_version:"   
                    + System.getProperty("java.class.version"));   
            System.out.println("java_class_path:"   
                    + System.getProperty("java.class.path"));   
            System.out.println("os_name:" + System.getProperty("os.name"));   
            System.out.println("os_arch:" + System.getProperty("os.arch"));   
            System.out.println("os_version:" + System.getProperty("os.version"));   
            System.out.println("user_name:" + System.getProperty("user.name"));   
            System.out.println("user_home:" + System.getProperty("user.home"));   
            System.out.println("user_dir:" + System.getProperty("user.dir"));   
            System.out.println("java_vm_specification_version:"   
                    + System.getProperty("java.vm.specification.version"));   
            System.out.println("java_vm_specification_vendor:"   
                    + System.getProperty("java.vm.specification.vendor"));   
            System.out.println("java_vm_specification_name:"   
                    + System.getProperty("java.vm.specification.name"));   
            System.out.println("java_vm_version:"   
                    + System.getProperty("java.vm.version"));   
            System.out.println("java_vm_vendor:"   
                    + System.getProperty("java.vm.vendor"));   
            System.out   
                    .println("java_vm_name:" + System.getProperty("java.vm.name"));   
            System.out.println("java_ext_dirs:"   
                    + System.getProperty("java.ext.dirs"));   
            System.out.println("file_separator:"   
                    + System.getProperty("file.separator"));   
            System.out.println("path_separator:"   
                    + System.getProperty("path.separator"));   
            System.out.println("line_separator:"   
                    + System.getProperty("line.separator"));   
        }   }
      

  2.   


    多谢,估计兄台误解我的意思了,我的意思是自己写个xml配置文件,怎么取得他的路径,当然不能用绝对路径,通过classpath的方式,就是放到src目录下,然后在程序里面通过类似xx.getClass.getResourceAsStream()(不一定对)的方式获取。