java两种获取资源方式对比

来源:互联网 发布:诸城淘宝摄影工作室 编辑:程序博客网 时间:2024/06/01 09:27
Java中gegetResource和gegetClassLoader().getResource()的区别
 xxx.class.getResource()用来从当前类(xxx)所在的目录下(也就是以当前类所在路径为根路径)获得资源;


xxx.class.getClassLoader().getResource()用来从classpath路径下(也就是以classpath所在路径为根路径)获得资源。


示例如下:


1.工程结构参考如下:






2.TestGetResource.java代码参考如下:




[java] view plain copy 
package resource;  
  
/** 
 * 测试xxx.class.getResource() &  xxx.class.getClassLoader()getResource() 
 * */  
public class TestGetResource {  
  
    public static void main(String[] args) throws Exception {  
            /** 
             * TestGetResource.class.getResource("aa.txt")从当前路径下(TestGetResource类所在路径)查找资源(aa.txt) 
             * TestGetResource.class.getClassLoader().getResource("foo.dat")从classpath路径下寻找资源(foo.dat) 
             * */  
        System.out.println(TestGetResource.class.getResource("goo.txt"));  
        System.out.println(TestGetResource.class.getResource("../resource/goo.txt"));  
        System.out.println(TestGetResource.class.getClassLoader().getResource("resource/goo.txt"));  
        System.out.println(TestGetResource.class.getClassLoader().getResource("foo.dat"));  
    }  
}  




3.输出结果参考如下:


file:/D:/Users/zhkj/Workspaces/MyEclipse%208.5/myResource/bin/resource/goo.txt
file:/D:/Users/zhkj/Workspaces/MyEclipse%208.5/myResource/bin/resource/goo.txt
file:/D:/Users/zhkj/Workspaces/MyEclipse%208.5/myResource/bin/resource/goo.txt
file:/D:/Users/zhkj/Workspaces/MyEclipse%208.5/myResource/conf/foo.dat
0 0
原创粉丝点击