-1

我有一个包含如下记录的文本文件

name(1-3),age(4-5),ownCar(6)(如果有放 Y 否则留空)

数据样本:

Dom32Y

Pat22

山姆23

罗布45Y

所以在这里,如果你看到每条记录的大小不是固定长度的。那么我如何使用 Spring Batch 读取这个文本文件。现在我正在使用 FixedLengthTokenizer 读取此文件,但出现错误“由:org.springframework.batch.item.file.transform.IncorrectLineLengthException”引起

我是 Spring Batch 和 Java Config 的新手。如果有人可以帮助我为我的问题写一个解决方案,我真的很感激!

4

1 回答 1

0

默认情况下,FixedLengthTokenizer工作strict模式,这意味着它不会容忍比预期更多或更少令牌的行。您可以通过将strict 标志设置为 false来放松它,其行为如下:

If false then lines with less tokens will be tolerated and padded with empty columns,
and lines with more tokens will simply be truncated.

如果这不是您想要的,您可以覆盖FixedLengthTokenizer#doTokenize并提供您的自定义逻辑。

于 2021-05-17T08:37:38.350 回答