繁体   English   中英

在 SpringBoot + Spring Batch 中读取多个文件和进程

[英]Read Multiple File and process in SpringBoot + Spring Batch

我正在使用 Spring Batch 和 Spring Boot。 我在处理多个文件时遇到问题。

我的情景。 我有多个具有不同标题的文件,例如:

源文件1.txt:

name, age, salary
ajay, 22, 2000
vijay, 23, 3000

源文件2.txt:

name, address
vijay, india
ajay, uk

我想使用带有 spring 批处理的 spring boot 处理这些文件。 我该怎么做?

您需要创建一个 spring 批处理作业。 使用读取文件的阅读器,为了读取 csv 文件,Spring Batch 有一个实现 FlatFileItemReader 。 在spring批处理中将这个类注册为reader bean的同时,你可以根据需要配置这个文件,同时对它的属性执行setter注入。例如你可以设置这个类的一个属性linesToSkip,它会排除你做的行不希望 spring 批处理读取,通常我们跳过文件的第一行,因为它包含标题。 此外,您可以为此 bean 配置一个行映射器,还有另一个实现形式 spring 批处理本身,其名称为 DefaultLineMapper,如果您想自定义文件映射逻辑,请扩展此类。 这就是读取部分的全部内容。现在您可以进一步实现 spring batch 提供的处理器和编写器,以便对您使用 FlatFileReader 读取的数据执行进一步的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM