Class.getResource()的路径问题

参考文章:http://wenku.baidu.com/view/af298cea102de2bd96058826.html

ClassLoader提供了两个方法用于从装载的类路径中取得资源:   

  public URL getResource(String name); 

  public InputStream getResourceAsStream(String name); 

这两种方法在路径定义都是一样,只是获取的结果不同,下面就拿getResource来做例子:

比如我们有以下目录

 |--project

     |--src 
       |--javaapplication

             |--Test.java

             |--file1.txt

         |--file2.txt

     |--build  
       |--javaapplication

             |--Test.class

             |--file3.txt

       |--file4.txt

如果需要或许对应资源,方法如下:

文件file3.txt:

1. Test.class.getResource("file3.txt");

2. Test.class.getResource("/javaapplication/file3.txt")

3. Test.class.getClassLoader().getResource("javaapplication/file3.txt")

文件file4.txt:

1. Test.class.getResource("/file3.txt");

3. Test.class.getClassLoader().getResource("file3.txt")

文件file2.txt和file1.txt:

Class.getResource()就不太适用获取这两个文件了,如果能也很麻烦,这里只能是用绝对路径来定位了(获取项目路径,再进一步确定文件路径);


转载于:https://www.cnblogs.com/yht520/archive/2013/06/16/3589634.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值