ClassLoader之Class.getResource和ClassLoader.getResource

背景

代码中经常需要获取项目中的静态文件,例如读取配置文件等。我们常用class.getResource或ClassLoader.getResource进行读取,但两者的参数在路径处理上些许区别

class.getResource

这种情况,我们用一个class来直接获取资源。会将目标资源路径根据规则进行转义,因为最终会使用ClassLoader.getResource来查找资源。
当目标资源已"/"开头时,此时在classPath下进行查询,否则相对该class所在包路径为基准进行查找的,会默认将class所在包路径拼接到资源路径上。
在这里插入图片描述
在这里插入图片描述

总结

分类资源路径查找范围
classxxx/xxx当前Class包路径下
class/xxx/xxxclassPath路径下
classLoaderxxx/xxxclassPath路径下
classLoader/xxx/xxx不允许,异常

相应getResourceAsStream规则和getResource一致,Loader的底层分析之后分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值