如何为固定长度格式的文件配置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>