Java中jar包获取资源文件的方式
2020-06-05 16:06:13来源:博客园 阅读 ()
Java中jar包获取资源文件的方式
方式一: this.getClass().getClassLoader().getResourceAsStream(String name)
首先调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区,而后在类类型上调用getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就是保证是和类类型同一个加载器加载的。最后调用类加载器的getResourceAsStream()方法来加载资源。
这里的 name 不能带“/”,否则会抛空指针
方式二: this.class.getResourceAsStream(String name)
若name不以“/”开头时,默认是从此类所在的包下取资源;以“/”开头时,则是从classpath根下获取。
示例
如果maven项目打成 jar包不要使用 xxx.calss.getResource(path)或 xxx.calss.getClassLoader().getResource(path) 获取相应的资源文件,会报错。尽量使用stream流的方式操作资源文件
扩展: spring中classpath的理解
maven项目编译后,java文件会被编译成class文件放在classes文件夹下;resource下的资源文件也会被放到classes文件夹下。
本文部分转自:https://www.cnblogs.com/yadongliang/p/7920053.html
原文链接:https://www.cnblogs.com/huangchangpei/p/13050553.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:java实现分页查询
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash