gpt4 book ai didi

java - 尝试仅获取值的子集时,FixedLength 会出现问题

转载 作者:行者123 更新时间:2023-11-30 02:14:15 25 4
gpt4 key购买 nike

我确实有一个文件,其中一行中有许多记录或列。该文件正在多个系统中使用。因此,并非所有字段都是我的要求所必需的。因此,如果我只设置如下所示的值的子集

<property name="lineTokenizer">
<bean class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
<property name="names" value="aa,cc,vv,bb" />
<property name="columns" value="1-578,579-579,580-580,581-581" />
</bean>
</property>

我收到如下异常

org.springframework.batch.item.file.transform.IncorrectLineLengthException: Line is shorter than max range 581
org.springframework.batch.item.file.transform.FixedLengthTokenizer.doTokenize(FixedLengthTokenizer.java:109)
org.springframework.batch.item.file.transform.AbstractLineTokenizer.tokenize(AbstractLineTokenizer.java:112)
org.springframework.batch.item.file.mapping.DefaultLineMapper.mapLine(DefaultLineMapper.java:43)
org.springframework.batch.item.file.FlatFileItemReader.doRead(FlatFileItemReader.java:180)

我们是否需要做一些特殊的事情来仅获取值的子集

最佳答案

异常(exception)情况是该行比您提供的范围短。例如,您映射的列太多,而不是太少。

话虽这么说,您需要在 FixedLengthTokenizer 中映射整个记录。但是,您使用的 FieldSetMapper 不需要使用所有这些字段。

关于java - 尝试仅获取值的子集时,FixedLength 会出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49095912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com