关于class.getClassLoader().getResourceAsStream()和class.getResourceAsStream()的用法

1.class.getResourceAsStream()

①.不加‘ / ’,直接在包的路径下开始寻找,相当于在已经写好的path前面加了一句 /包名/path
②加‘ / ’,就要从classpath的那一层开始找
比如,找到存放编译后的class存放的位置:

//文件目录
yx
 	jdbctest
 		com
 			A.class
 			B.class
 			1.properties```
2.properties

//调用1.properties 
InputStream inputStream=PropertiesTest.class.getResourceAsStream("1.properties");
InputStream inputStream=PropertiesTest.class.getResourceAsStream("/yx/jdbctest/com/1.properties");

//调用2.properties
InputStream inputStream=PropertiesTest.class.getResourceAsStream("/2.properties");
123456789101112131415

2.class.getClassLoader().getResourceAsStream()

getClassLoader是直接从classpath开始查找文件的,因此使用这个就需要定位在classpath这个位置,也就是下面目录中yx这一层。

//文件目录
yx
 	jdbctest
 		com
 			A.class
 			B.class
 			1.properties```
2.properties

//调用1.properties 
InputStream inputStream=PropertiesTest.class.getClassLoader().getResourceAsStream("yx/jdbctest/com/1.properties");
//调用2.properties
InputStream inputStream=PropertiesTest.class.getClassLoader().getResourceAsStream("2.properties");
12345678910111213

另外,如果你在整个工程目录下建立一个resource文件,编译之后,它会存到和yx同级的这个目录下,也就是classpath这里,如果建立的是一个test resource 那就会在这一层的上面一层中,这个等以后写了完整的程序出来,在做进一步的整理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值