gpt4 book ai didi

java - 如何使用 spring 'ResourcePatternResolver' 从指定路径读取所有文件

转载 作者:行者123 更新时间:2023-12-02 09:48:26 25 4
gpt4 key购买 nike

我需要使用 spring ResourcePatternResolver 获取所有文件,无论其文件名如何。

我已经尝试过以下代码

private static final String BPMN_PATH = "process";
ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
Resource[] resource = resourcePatternResolver.getResources("classpath:" + BPMN_PATH + "**/*.bpmn");

但这仅适用于文件列表位于类路径(项目目录)中的情况。

在我的场景中,文件位于系统目录中。为此,我尝试使用以下代码

private static final String BPMN_PATH = System.getProperty("user.home");
ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
Resource[] resource = resourcePatternResolver.getResources("file:" + BPMN_PATH + File.separator +"process.bpmn");

但这仅适用于指定文件(process.bpmn)。

有人可以帮忙吗?

最佳答案

嗯,我记得 Ant 风格的通配符模式也应该适用于file:

要加载文件夹中的所有文件(例如 /foo/bar/),您可以使用:

resourcePatternResolver.getResources("file:/foo/bar/*);

请注意,仅限于该文件夹中包含的文件。它不会将该文件包含在其子文件夹中。

如果你想递归加载所有文件,甚至是每个子文件夹和子子文件夹等中的文件,你可以使用:

 resourcePatternResolver.getResources("file:/foo/bar/**);

关于java - 如何使用 spring 'ResourcePatternResolver' 从指定路径读取所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56488244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com