Java 读取特定包中文件的内容
我很惊讶我在stackoverflow上找不到这个问题的答案,但如果这是重复的,请原谅我 我的web应用程序包中有一些文本文件。我知道包的名称,但我不一定知道文件的名称。我希望能够读取此包中每个文本文件的内容 我知道我可以使用Java 读取特定包中文件的内容,java,inputstream,packages,Java,Inputstream,Packages,我很惊讶我在stackoverflow上找不到这个问题的答案,但如果这是重复的,请原谅我 我的web应用程序包中有一些文本文件。我知道包的名称,但我不一定知道文件的名称。我希望能够读取此包中每个文本文件的内容 我知道我可以使用getClass().getResourceAsStream(“filename.txt”)读取单个文件的内容,但正如我所说,我不一定知道文件的名称,只知道它们所在的包 因此,给定一个包名,如何获取该包中包含的所有文件的内容?以社区wiki的形式添加我自己的答案 您可以使用
getClass().getResourceAsStream(“filename.txt”)
读取单个文件的内容,但正如我所说,我不一定知道文件的名称,只知道它们所在的包
因此,给定一个包名,如何获取该包中包含的所有文件的内容?以社区wiki的形式添加我自己的答案
您可以使用Spring提供的PathMatchingResourcePatternResolver
public class SpringResourceLoader {
public static void main(String[] args) throws IOException {
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
// Ant-style path matching
Resource[] resources = resolver.getResources("/com/myapp/some/package/*");
for (Resource resource : resources) {
InputStream is = resource.getInputStream();
...
}
}
}
将此添加到maven依赖项(如果使用maven):
org.springframework
弹簧芯
3.1.2.1发布
你可以在这里查看这个答案:你必须给出像com/myapp/some/package/*
这样的文件的路径。谢谢@maba,我会给这个一个tryWorked a treat-@maba如果你把你的评论转换成一个答案,我很乐意接受。干杯。我把我自己的答案从链接复制到这个问题的答案中。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>