如何为固定长度格式的文件配置spring-batch阅读器(无分隔符的文件)。

每个元素都是根据其开始和结束位置确定的。

线样:

120180208失败
220180208成功
120170208成功
1:代码,20180208:日期,失败:状态

最佳答案

您可以为此使用FixedLengthTokenizer阅读器。

这是配置FixedLengthTokenizer的方式。


样本文本文件

UK21341EAH4121131.11customer1
UK21341EAH4221232.11customer2
UK21341EAH4321333.11customer3
UK21341EAH4421434.11customer4
UK21341EAH4521535.11customer5


Java配置

@Bean
    public FixedLengthTokenizer fixedLengthTokenizer() {
            FixedLengthTokenizer tokenizer = new FixedLengthTokenizer();

            tokenizer.setNames("ISIN", "Quantity", "Price", "Customer");
            tokenizer.setColumns(new Range(1-12),
                                 new Range(13-15),
                                 new Range(16-20),
                                 new Range(21-29));
            return tokenizer;
    }


XML配置

<bean id="fixedLengthLineTokenizer"
      class="org.springframework.batch.io.file.transform.FixedLengthTokenizer">
    <property name="names" value="ISIN,Quantity,Price,Customer" />
    <property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>

08-03 13:31