0
我使用spring批處理自動讀取csv文件並將每行映射到對象中。下面有代碼。 csv文件中的列是ID,field1,field2,field3。這是我在lineTokenizer中編寫的順序。但是,FlatFileItemReader未按此順序讀取文件。相反,它看起來像隨機順序讀取,先讀取field2,然後是ID,然後是field3,然後是field1。但我希望它首先讀取ID,因爲我正在嘗試編寫一個將ID映射到每個字段的映射。有沒有辦法改變FlatFileItemReader在csv中讀取列的順序?Spring按批次順序讀取csv列
<bean id="mappedPosition" class="com.jpmorgan.ib.colopt.input.MappedPosition" scope="prototype" />
<bean id="positionFileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource" value="position.csv" />
<property name="lineMapper">
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
<property name="lineTokenizer">
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="names" value="ID, field1, field2, field3" />
</bean>
</property>
<property name="fieldSetMapper">
<bean class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="mappedPosition"/>
</bean>
</property>
</bean>
</property>
</bean>