繁体   English   中英

如何在Spring批处理中使用FlatFileItemReader忽略CSV中不需要的列

[英]How to ignore unwanted columns in CSV using FlatFileItemReader in spring batch

我遇到了一个问题,我有一个包含10列的CSV文件,只需要选择列映射到我的Java对象。 但是CSV是标题列,数据位置是固定的。 所以我知道只有第1列到第3列对我有用,而且必须忽略其余部分。 例如:CSV为:A1,A2,A3,A4,A5,A6,A7,A8,A9,A10

我只需要将A1到A3列映射到我的pojo。 我确定这不是正确的方法,但我尝试做这样的事情,但它没有用。 Spring批处理试图将所有列值映射到我的pojo。

<property name="lineTokenizer">
    <bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
        <property name="names" value="Name,Department,Age,,,,,,," />
    </bean>
</property>

<property name="fieldSetMapper">
    <bean class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
        <property name="prototypeBeanName" value="EmployeeDO" />
    </bean>

我还没有探索过弹簧批的所有功能,但是有什么东西可以轻松实现吗? 任何帮助,将不胜感激

DelimitedLineTokenizer.setIncludedFields()应该是解决问题的正确调用。

要按位置包含在输出中的字段(从0开始)。 默认情况下,会包含所有字段,但可以将此属性设置为仅从较大的集合中选择几个字段。 请注意,如果提供了字段名称,则其编号必须与包含的字段数相匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM