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

时间:2017-05-24 12:30:56

标签: java spring-boot spring-batch

我正在使用带有弹簧靴的Spring批次。我在处理多个文件时遇到问题。

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

Sourcefile1.txt:

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

Sourcefile2.txt:

name, address
vijay, india
ajay, uk

我想使用弹簧批处理弹簧启动来处理这些文件。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

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