Spring integration Spring批处理:如何将csv文件的第一行列(标题)设置为my file reader的标记名

Spring integration Spring批处理:如何将csv文件的第一行列(标题)设置为my file reader的标记名,spring-integration,spring-batch,Spring Integration,Spring Batch,我有一个csv文件要通过spring批处理使用。列标题(名称)可能因客户而异。使用FlatFileItemReader读取数据时,如何将令牌名称设置为第一行(标题)列名?我正在使用Java配置来设置流 感谢您的评论/建议一个解决方案是使用该方法放弃csv文件的第一行。例如: flatFileItemReader.setLinesToSkip(1); 您可以按如下方式使用: <bean id="flatFileItemReader" class="org.springframewo

我有一个csv文件要通过spring批处理使用。列标题(名称)可能因客户而异。使用FlatFileItemReader读取数据时,如何将令牌名称设置为第一行(标题)列名?我正在使用Java配置来设置流


感谢您的评论/建议

一个解决方案是使用该方法放弃csv文件的第一行。例如:

flatFileItemReader.setLinesToSkip(1);
您可以按如下方式使用:

<bean id="flatFileItemReader" 
   class="org.springframework.batch.item.file.FlatFileItemReader">
<!-- linesToSkip => The number of lines to skip at the beginning of the 
    file. This feature is particularly useful to handle file headers. -->
<property name="linesToSkip" value="1" />

您应该设置LineToSkip属性:

    @Component
    @JobScope
    public class CsvToDbItemReader extends FlatFileItemReader<BillDTO> {
            public CsvToDbItemReader(@Value("#{jobParameters}") Map jobParameters) 
    {
                String uploadDate = (String) jobParameters.get("uploadDate");
                this.setResource(new FileSystemResource(getFileName(uploadDate)));
                this.setLinesToSkip(1); //set header line
                LineMapper<BillDTO> lineMapper = createBillLineMapper();
                this.setLineMapper(lineMapper);
            } 
     }
@组件
@工作范围
公共类CsvToDbItemReader扩展FlatFileItemReader{
公共CsvToDbItemReader(@Value(“#{jobParameters}”)映射jobParameters)
{
String uploadDate=(String)jobParameters.get(“uploadDate”);
this.setResource(新文件系统资源(getFileName(uploadDate));
this.setLinesToSkip(1);//设置标题行
LineMapper LineMapper=createBillLineMapper();
这个.setLineMapper(lineMapper);
} 
}

请编辑您的答案并添加Java配置的相关部分,好吗?