本文介紹了跳過春季批次表尾行數的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在使用FlatFileItemReader
讀取帶分隔符的平面文件。雖然我可以通過字段linesToSkip
跳過頁眉數量,但無法按行數跳過頁腳。
推薦答案
您可以創建自定義行映射器,在其中可以通過正則表達式匹配或行號跳過。
public class CustomLineMapper extends DefaultLineMapper<FieldSet> {
@Setter
private int totalItemsToRead;
@Override
public FieldSet mapLine(String line, int lineNumber) throws Exception {
if(lineNumber > totalItemsToRead){
return null;
}
return super.mapLine(line, lineNumber);
}
}
最后注冊自定義行映射器FlatFileItemReader
CustomLineMapper lineMapper = new CustomLineMapper();
lineMapper.setTotalItemsToRead(totalLinesInFile - numberOfLinesToSkipInFooter);
FlatFileItemReader<FieldSet> reader = new FlatFileItemReader<>();
// skip headers
reader.setLinesToSkip(linesToSkipInHeader);
// skip footer
reader.setLineMapper(lineMapper);
這篇關于跳過春季批次表尾行數的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,