Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取特定包中文件的内容_Java_Inputstream_Packages - Fatal编程技术网

Java 读取特定包中文件的内容

Java 读取特定包中文件的内容,java,inputstream,packages,Java,Inputstream,Packages,我很惊讶我在stackoverflow上找不到这个问题的答案,但如果这是重复的,请原谅我 我的web应用程序包中有一些文本文件。我知道包的名称,但我不一定知道文件的名称。我希望能够读取此包中每个文本文件的内容 我知道我可以使用getClass().getResourceAsStream(“filename.txt”)读取单个文件的内容,但正如我所说,我不一定知道文件的名称,只知道它们所在的包 因此,给定一个包名,如何获取该包中包含的所有文件的内容?以社区wiki的形式添加我自己的答案 您可以使用

我很惊讶我在stackoverflow上找不到这个问题的答案,但如果这是重复的,请原谅我

我的web应用程序包中有一些文本文件。我知道包的名称,但我不一定知道文件的名称。我希望能够读取此包中每个文本文件的内容

我知道我可以使用
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>