Class.getResource()的路径问题

本文详细介绍了如何使用 Java 的 ClassLoader 类加载指定路径下的资源文件,包括 getResource 和 getResourceAsStream 方法的具体应用,并通过实例演示了不同路径配置下资源文件的正确加载方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值