随笔 - 129  文章 - 3  评论 - 32  阅读 - 15万 

问题1   resources文件夹下又创建了一个文件夹,但是在生成的时候,该文件夹未生成只在根目录生成了资源文件?

网上找了一大堆资料,没解决,最后试着改了改pom.xml文件,原来是在build节点上出的问题。

<build>
<resources>
<!--两个resource节点都加上吧,如果你两个目录下都有配置文件的话。只加一个resource节点,只会编译这个节点配置的目录下的xml,properties文件-->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>识别resources下的properties文件
            <include>**/*.txt</include>识别txt文件
                <include>**/*</include>识别所有文件,包含文件夹(问题就在这里,原来没有加这一句,文件夹就不生成)
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.fxml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>

问题2 获取resources文件夹下的路径

1、Class.getResource()的获取资源路径

  • 如果以 / 开头,则从根路径开始搜索资源。
  • 如果不以 / 开头,则从当前类所在的路径开始搜索资源。

2、ClassLoader.getResource()的资源获取不能以 / 开头,统一从根路径开始搜索资源

1
String path = this.getClass().getClassLoader().getResource("xxx").getPath();

通过这个代码获得。如果方法是在static中,则通过类名本身获得,因为this不能用在static方法中,会报错。

使用Class的getResourceAsStream

URL resourceUrl = ResourcePath.class.getResource("/test.txt");

posted on   孤独斗士  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示