java两种获取资源方式对比

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值