java - 从Java中资源文件夹的子文件夹加载文件

标签 java file java-module

我在从我的 IntelliJ Java 15 Gradle 项目的资源文件夹中的子文件夹加载文件时遇到问题...

我的项目结构的表示:

src/main/
├── java/
│   ├── AllMyClasses.java ... ... ...
│   └── module-info.java
└── resources/
    ├── text.txt
    └── img/
        └── favicon.png

以及我的代码的相关片段:

URL file = ClassLoader.getSystemResource("img/favicon.png");
URL file1 = ClassLoader.getSystemResource("text.txt");
System.out.println(file);
System.out.println(file1);

输出:

null
file:/C:/Users/MyUser/IdeaProjects/MyProject/build/resources/main/text.txt

为什么 java 只能直接识别资源文件夹中的文件,而不能识别子文件夹中的文件?我怎样才能让我的程序也能识别子文件夹中的那些?

感谢所有能提供帮助的人:)

最佳答案

我不确定为什么你的版本不起作用,但这是我使用的:

getClass().getResourceAsStream("/img/favicon.png");

注意:如果您的类不在默认包中,“/img”中的“/”是必需的 (这是不应该的)

关于java - 从Java中资源文件夹的子文件夹加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67947154/

相关文章:

java - jOOQ异步批量插入

android - 如何将图片保存到文件?

java - 如何选择文件数组列表中的特定文件?

java - 如何判断包属于哪个模块?

java - 使用新的 Java 模块系统加载服务提供程序时我还缺少什么?

java - RestAssuredRestDocumentationConfigurer 导致 NullPointerException

c# - 跟踪、识别和报告应用程序引发的每个 'error message' 的有效方法是什么?

java - 如何调用 reSTLet 资源

sql-server - 将pdf文件存储在sql server中

java - 避免加载一个传递依赖的模块