Spring batch Spring批处理-如何将标题信息保存到FlaFileItemReader中的单个行对象中
我正在处理一个以“|”分隔的文本文件,该文件的头和数据后跟一个尾部。此序列可以在同一文件中重复。我的格式是这样的Spring batch Spring批处理-如何将标题信息保存到FlaFileItemReader中的单个行对象中,spring-batch,flatfilereader,Spring Batch,Flatfilereader,我正在处理一个以“|”分隔的文本文件,该文件的头和数据后跟一个尾部。此序列可以在同一文件中重复。我的格式是这样的 Header|Date - Employer1#|<br> Employee ID|FirstName|LastName|<br> Employee ID|FirstName|LastName|<br> Trailer|2<br> Header|Date - Employer2#|<br> Employee ID|First
Header|Date - Employer1#|<br>
Employee ID|FirstName|LastName|<br>
Employee ID|FirstName|LastName|<br>
Trailer|2<br>
Header|Date - Employer2#|<br>
Employee ID|FirstName|LastName|<br>
Employee ID|FirstName|LastName|<br>
Employee ID|FirstName|LastName|<br>
Trailer|3<br>
任何线索都将不胜感激。谢谢检查。这可能是一个很好的起点。您是否厌倦了使用
PeakableItemReader
?我认为应该可以保留当前雇主的参考资料,并将其传递给地图绘制者。谢谢你的建议。我会尝试一下。
@Override
public MyDTO mapLine(String line, int lineNumber) throws Exception {
if(line != null && line.contains("HEADER")) {
String[] tokenizedHeader = line.split("|");
//Code to parse Header and save that data
}else {
DelimitedLineTokenizer delimitedLineTokenizer = new DelimitedLineTokenizer();
delimitedLineTokenizer.setDelimiter("|");
delimitedLineTokenizer.setStrict(false);
delimitedLineTokenizer.setNames(new String[] {"EMPLOYEE ID","FIRST NAME","LAST NAME"});
setLineTokenizer(delimitedLineTokenizer);
setFieldSetMapper(myFieldSetmapper);
return (MyDTO) this.fieldSetMapper.mapFieldSet(this.lineTokenizer.tokenize(line));
}
}