如何跳过使用FlatFileItemReader读取文件的空字段?

son*_*onx 5 spring-batch

我正在读一个逗号分隔的文件,它有两个字段.该文件有时可能不包含第二个字段,因此当发生这种情况时,Spring DelimitedLineTokenizer不应该抱怨.通过陈述以下内容

            <property name="lineTokenizer">
                <bean
                    class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
                    <property name="names"
                        value="planNumber, paymentAmount">
                    </property>
                    <property name="delimiter">
                        <value>,</value>
                    </property>
                </bean>
            </property>
Run Code Online (Sandbox Code Playgroud)

春天确实抱怨

Caused by: org.springframework.batch.item.file.transform.IncorrectTokenCountException: Incorrect number of tokens found in record: expected 2 actual 1
    at org.springframework.batch.item.file.transform.AbstractLineTokenizer.tokenize(AbstractLineTokenizer.java:123)
    at org.springframework.batch.item.file.mapping.DefaultLineMapper.mapLine(DefaultLineMapper.java:46)
    ... 60 more
Run Code Online (Sandbox Code Playgroud)

StringTokenizer不会抱怨

Mah*_*esh 8

将linetokenizer上的以下属性设置为false ..这应该有助于避免抛出异常

<property name="strict" value="false"></property>
Run Code Online (Sandbox Code Playgroud)