20180627;PM;ABC;0029;BYX;Technology Inc;;DUMMY;OK;33900;34.3;1162770;CT;;;;;;
;;;;;;;;;;;;;;;;;; //bad line
;;;;;;;;;;;;;;;;;; //bad line
;;;;;;;;;;;;;;;;;; //bad line
有没有办法跳过MyProcessor
中没有数据的不良行:
public class MyProcessor implements ItemProcessor<Row, Price> {
@Override
public Price process(final Row row) throws Exception {
if (row == null) {
}
//Values for lines in file
Price scp = new Price();
//set values
return scp;
}
}
Row
对象的值为空。我看到了带有空行的示例,但是在这里我要处理冒号,它实际上是定界符。
我是否必须检查某些字段的有效性并阻止对象的创建和设置?有没有更好的办法?
答案 0 :(得分:0)
使用PatternMatchingCompositeLineMapper
将有效行与无效行分开,并使用自定义FieldSetMapper
将无效行映射到名为InvalidLine
的对象(仅作为示例)。
在处理阶段,使用CompositeItemProcessor
通过自定义InvalidLine
传递ItemProcessor
对象,然后执行您喜欢的操作。