打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
读取配置文件的问题
Class.getResourceAsStream 和ClassLoader.getSystemResourceAsStream的区别:

这两个方法还是略有区别的, 以前一直不加以区分,直到今天发现要写这样的代码的时候运行
错误, 才把这个问题澄清了一下。

基本上,两个都可以用于从 classpath 里面进行资源读取,  classpath包含classpath中的路径
和classpath中的jar。

两个方法的区别是资源的定义不同, 一个主要用于相对与一个object取资源,而另一个用于取相对于classpath的
资源,用的是绝对路径。

在使用Class.getResourceAsStream 时, 资源路径有两种方式, 一种以 / 开头,则这样的路径是指定绝对
路径, 如果不以 / 开头, 则路径是相对与这个class所在的包的。

在使用ClassLoader.getResourceAsStream时, 路径直接使用相对于classpath的绝对路径。

举例,下面的三个语句,实际结果是一样的:
memcached.properties实际的位置在:com/explorers/目录下;

   com.explorers.Test.class.getResourceAsStream("memcached.properties")
= com.explorers.Test.class.getResourceAsStream("/com/explorers/memcached.properties")
= ClassLoader.getResourceAsStream("com/explorers/memcached.properties");
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
java中Class.getResource用法
用类加载器的方式管理资源和配置文件
web.xml 配置中classpath: 与classpath*:的区别
classpath路径
javaWeb开发中读取资源文件方法总结
javaweb项目中对于资源文件的读取
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服