getResourceAsStream的用法


getResourceAsStream(path):path 不以’/'开头时表示是从此类所在的包下取资源,以’/'开头则是从类根路径下获取。

现假设有一个类(Test.java)要读取配置文件。

何为类根路径:说白了就是‘src/’,像'src/Qq.txt',Qq.txt就处于类根路径下;像‘src/com/Tt.java’,Tt.java就不是在类根路径下。

1.路径:src/aa.xml

<span style="font-size:18px;">读取该路径下的aa.xml文件:InputStream is=Test.class.getResourceAsStream("/aa.xml");//表示从类根路径根下读取文件

</span>

2..位于src下同一个包下:

src/com/zsj/Test.java,src/com/zsj/aa.xml

如果此时用上面的方法,则会报错,找不到文件,因为aa.xml和Test.java是位于同一个包下。位于同一个包下的资源可以采用下面的方式,若果不是同一个包下,请参照第3种方式。

<span style="font-size:18px;">(1)InputStream is=Test.class.getResourceAsStream("aa.xml");//表示从此类所在的包路径下读取文件 
</span>

3.位于src下不同包:

src/com/one.java,src/cn/aa.xml

<span style="font-size:18px;">InputStream is=Test.class.getResourceAsStream("/cn/aa.xml");//读取与加载类位置不一致时的资源文件 </span>

4.Class.getClassLoader.getResourceAsStream(String path) :只能从类根路径下获取,path不能以’/'开头

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值