当前位置: 首页 > 知识库问答 >
问题:

Spring Batch如何使用PathMatchingResourcePatternResolver从文件夹及其所有子文件夹读取所有json文件

井学
2023-03-14

我使用Spring Batch MultiResourceItemReader来读取多个模块文件。这些文件位于父目录及其子目录中。

已经尝试:

>

使用PathMatchingResourcePatterResolver,如代码示例中所示(灵感来自JAR中的查找资源与PathMatchingResourcePatterResolver和URLClassloader

@Bean
public MultiResourceItemReader<List<SingleJsonRowInput>> 
multiResourceItemReader() {
PathMatchingResourcePatternResolver  patternResolver = new 
PathMatchingResourcePatternResolver();
Resource resources[] = null;;
try {
    resources = 
    patternResolver.getResources("file:C:\\inputFolder\\**\\*.json");
} catch (IOException e) {
    e.printStackTrace();
}
MultiResourceItemReader<List<SingleJsonRowInput>> 
multiResourceItemReader = new MultiResourceItemReader<>();
multiResourceItemReader.setResources(resources);
multiResourceItemReader.setDelegate(new 
ItemReaderForMulti(fileManager));
return multiResourceItemReader;
}

共有2个答案

焦宁
2023-03-14

与其使用windows反斜杠,不如使用类似Unix\Linux的语法:

无效:资源=模式解析程序。getResources(“文件:C:\\inputFolder\\***\\.json”);

效果很好:resources=patternsolver。getResources(“文件:C:/inputFolder/***.json”);

谷飞星
2023-03-14

您可以使用以下代码段:

PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("file:/root/folder/**/*.json");

**/*将从根/文件递归返回文件。然后将资源数组传递给MultiResourceItemReader

 类似资料:
  • 我在文件中有这一行: 哪个包文件夹< code>Tcl。但是它只获取文件夹中的文件,而不获取< code>Tcl中的子文件夹。有没有办法把整个文件夹< code>Tcl连同所有子文件夹和文件?(不逐行列出所有子文件夹)。 Inno设置5.4.2。

  • 问题内容: 如何通过Java读取文件夹中的所有文件? 问题答案: Java 8提供了Files.walk API。

  • 问题内容: 我如何返回一个包含该文件夹中的所有文件以及子文件夹的文件数组,我的方法仅适用于该文件夹,并且不包括子文件夹。 问题答案: 使用您当前的代码,进行以下调整:

  • 本文向大家介绍php读取出一个文件夹及其子文件夹下所有文件的方法示例,包括了php读取出一个文件夹及其子文件夹下所有文件的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php读取出一个文件夹及其子文件夹下所有文件的方法。分享给大家供大家参考,具体如下: 今天的需求要在一个文件夹中读取出这个文件夹下所有的文件,当然也包括这个文件夹下面所有的子文件夹,当然网上有很多的教程,但为了自己

  • 问题内容: 我希望读取特定文件夹中的所有文本文件。文件名中没有任何通用模式-否则任务会更容易。 如果我也可以处理子文件夹,那将是很好,但是即使是基本的实现也已足够。 我尝试查看先前询问的相关问题,但是没有一个给出我需要的C和Linux特定答案。 编辑 :所以,这是我根据收到的答案写的- 并收到 错误 -pnp @ pnp-laptop:〜/ snort_rules_folder $ ./a.out

  • 问题内容: 如何使用Java将所有文件从一个文件夹移动到另一文件夹?我正在使用此代码: 但它仅适用于一个特定文件。 谢谢!!! 问题答案: 如果对象指向文件夹,则可以遍历其内容