@Override
public Address read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {
CsvParserSettings parserSettings = new CsvParserSettings();
//settings
CsvRoutines routines = new CsvRoutines(parserSettings);
for (Address address : routines.iterate(Address.class, input, "UTF-8")) {
/*
*here I need to return only the current object,
*the return of this method will be passed as an argument to a processor
*the next time this method is called it has to return the next one
*Could not figure out how to control what is the current.
*/
return ???:
}
return ???;
}
我如何在ItemReader中使用Univocity一次读取一行,仍然使用BeanProcessor将我的行自动解析为Java对象?
嗨,我是lib的作者<代码>例程。迭代(Address.class,input,“UTF-8”)将返回一个Iterable
每次需要读取下一个
地址时,只需调用
迭代器即可。next()
。
我相信你的方法应该写成:
private Iterator<Address> iterator;
@Override
public Address read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {
if(iterator == null){
CsvParserSettings parserSettings = new CsvParserSettings();
//settings
CsvRoutines routines = new CsvRoutines(parserSettings);
iterator = routines.iterate(Address.class, input, "UTF-8")).iterator();
}
if(iterator.hasNext()){
return iterator.next();
} else {
iterator = null;
}
return null;
}
希望这有帮助。
我想知道在使用CsvRoutines包时,是否有方法检查和验证字段。基本上,如果第一列只有数字,我想处理一行,否则跳过/可能抛出异常。我猜2.7.0中发布的@Validate annotation可以实现这一点。但我想知道,是否有其他方法可以在早期版本(如2.5.9)中实现同样的效果?
本文向大家介绍Spring Batch批处理框架使用解析,包括了Spring Batch批处理框架使用解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Spring Batch批处理框架使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用Spring Batch做为批处理框架,可以完成常规的数据量不是特别大的离线计算。 现在
是否可以根据索引范围将一行解析为多个bean 例: 行:“字段1”、“字段2”、“字段3”。。。。,“字段9”
我使用Spring批处理从Oracle数据库读取数据并将结果写入CSV文件。 我还需要将spring批处理元数据表与oracle数据库分开,为此,我在批处理配置中配置了两个不同的数据源(spring批处理元数据的内存数据库)。 这是我的代码: 批处理配置。JAVA 然后我的itemReader bean看起来像: 当我运行批处理时,一切正常。 但是当我尝试在我的BatchApplication中添
我正在尝试从GTFS读取CSV文件。在uniVocity解析器的帮助下压缩,遇到了一个我无法解决的问题。出于某种原因,某些CSV文件的第一列似乎无法正确解析。例如,在“stops.txt”文件中,如下所示: 无法正确解析“stop_id”字段,该字段的值为“null” 这是我用来读取文件的方法: 这就是我的Stop课程的样子: 如果我调用的方法,我得到这个输出是不正确的: 输出: 有人知道为什么会
我正试图用Spring批处理读取带有日期的CSV文件,但在将日期解析为对象时遇到了麻烦: 对象“target”中字段“date”出现字段错误:拒绝值[2017-07-20 04:15:25.0];代码[TypeMismatch.target.date,TypeMismatch.date,TypeMismatch.java.time.LocalDateTime,TypeMismatch];参数[or