Spring batch 我的spring批处理读取器没有拾取没有扩展名的文件进行处理,而是忽略它们
我在spring批处理框架中使用FlatFileItemReader。我的一些文件是.txt(testfile1.txt)文件,但奇怪的是,有些文件没有任何扩展名(testfile2)。我的spring批处理读取器没有拾取没有扩展名的文件进行处理,而是忽略它们。有没有一种方法可以让我的平面文件项目阅读器读取没有扩展名的文件 我正在使用多资源项目阅读器,如下所示Spring batch 我的spring批处理读取器没有拾取没有扩展名的文件进行处理,而是忽略它们,spring-batch,Spring Batch,我在spring批处理框架中使用FlatFileItemReader。我的一些文件是.txt(testfile1.txt)文件,但奇怪的是,有些文件没有任何扩展名(testfile2)。我的spring批处理读取器没有拾取没有扩展名的文件进行处理,而是忽略它们。有没有一种方法可以让我的平面文件项目阅读器读取没有扩展名的文件 我正在使用多资源项目阅读器,如下所示 @Bean @StepScope @Qualifier("monthlyReconciliationMultiResou
@Bean
@StepScope
@Qualifier("monthlyReconciliationMultiResourceItemReader")
public MultiResourceItemReader monthlyReconciliationMultiResourceItemReader() {
FileSystemResourceLoader fileSystemResourceLoader=new FileSystemResourceLoader();
ResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver(fileSystemResourceLoader);
Resource[] resources = null;
try {
resources = patternResolver.getResources(FilePathModifier.resolveTenantFilePath(tenantRequestContext.getCurrentTenant(), (getMonthlyReconFilePath())));
MultiResourceItemReader<Object> multiResourceItemReader = new MultiResourceItemReader<>();
multiResourceItemReader.setResources(resources);
multiResourceItemReader.setDelegate(monthlyReconciliationFlatFileItemReader());
return multiResourceItemReader;
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
@Bean
@步进镜
@限定词(“monthlyReconciliationMultiResourceItemReader”)
公共MultiResourceItemReader monthlyReconciliationMultiResourceItemReader(){
FileSystemResourceLoader FileSystemResourceLoader=新FileSystemResourceLoader();
ResourcePatternResolver patternResolver=新路径匹配源模式解析程序(fileSystemResourceLoader);
Resource[]resources=null;
试一试{
resources=patternResolver.getResources(FilePathModifier.resolveTenantFilePath(tenantRequestContext.getCurrentTenant(),(getMonthlyReconFilePath());
MultiResourceItemReader MultiResourceItemReader=新的MultiResourceItemReader();
multiResourceItemReader.setResources(资源);
setDelegate(monthlyReconciliationFlatFileItemReader());
返回multiResourceItemReader;
}捕获(IOE异常){
e、 printStackTrace();
抛出新的运行时异常(e);
}
}
试着找出这行代码的作用-
resources = patternResolver.getResources(FilePathModifier.resolveTenantFilePath(tenantRequestContext.getCurrentTenant(), (getMonthlyReconFilePath())));
请看这里-->
上面写着-->
您需要在此处给出模式-->
试着找出这条线的作用-
resources = patternResolver.getResources(FilePathModifier.resolveTenantFilePath(tenantRequestContext.getCurrentTenant(), (getMonthlyReconFilePath())));
请看这里-->
上面写着-->
您需要在此处给出模式-->
有没有一种方法可以让我的平面文件项目阅读器读取没有扩展名的文件
所有Spring批处理文件读取器都使用Spring框架中的org.springframework.core.io.Resource
接口。他们不关心文件是否有扩展名
在配置MultiResourceItemReader
及其委托FlatFileItemReader
之前,您需要对解析资源[]
数组的代码进行单元测试,并确保它解析的文件没有扩展名
有没有一种方法可以让我的平面文件项目阅读器读取没有扩展名的文件
所有Spring批处理文件读取器都使用Spring框架中的org.springframework.core.io.Resource
接口。他们不关心文件是否有扩展名
在配置
MultiResourceItemReader
及其委托FlatFileItemReader
之前,您需要对解析资源[]
数组的代码进行单元测试,并确保它解析的文件没有扩展名。请共享您的代码。我认为您对FlatFIleItemReader
bean的配置错误,请共享您的代码。我认为您对FlatFIleItemReader
的配置是错误的,因为添加了我的代码块,我正在使用前面提到的多资源项阅读器。在这种情况下如何添加图案?这很有帮助。谢谢位置模式被设置为folder/*.*这就是它忽略没有扩展名的文件的原因。太好了,现在您可以使用给定的正则表达式读取任何文件。添加了我的代码块后,我正在使用前面提到的多资源项读取器。在这种情况下如何添加图案?这很有帮助。谢谢位置模式被设置为folder/*.*这就是它忽略没有扩展名的文件的原因。太好了,现在你可以用给定的正则表达式读取任何文件。是的,资源[]数组变空了。好的,很高兴它有帮助。在这种情况下,请接受以下答案:。请注意,接受答案不同于向上投票。是的,资源[]数组为空。好的,很高兴这有帮助。在这种情况下,请接受以下答案:。请注意,接受答案不同于投票。
patternResolver.getResources(filePath with pattern);