我有一个csv文件可以通过spring批处理来使用。列标题(名称)可以根据客户而有所不同。使用FlatFileItemReader读取数据时,如何将令牌名称设置为第一行(标题)列名?我正在使用Java配置来设置流程。
感谢任何意见/建议
答案 0 :(得分:1)
一种解决方案可能是使用FlatFileItemReader::setLinesToSkip
方法丢弃csv文件的第一行。如:
flatFileItemReader.setLinesToSkip(1);
答案 1 :(得分:0)
您可以使用如下:
ls \*.*
答案 2 :(得分:0)
您应该设置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);
}
}