Univocity分析器 - 解析csv行到现有的bean实例
问题描述:
我想解析一个csv文件到一个bean的新的和现有的实例,使用univocity解析器。 CSV文件是通过使用单义BeanWriterProcessor,一组豆子,我会打电话给设置A.Univocity分析器 - 解析csv行到现有的bean实例
现在我想读的CSV收回,做产生如下:
案例1:如果该行对应于一个最初出现在集合A中的bean,我不想创建一个新的bean实例,而是将csv读入“现有”实例。 (即,“更新”实例)。我通过使用bean的UUID来检查存在。案例2:如果该行与最初存在于集合A中的bean不对应,我想为它创建一个新的bean实例。
问题我想解决:对于案例1,我该如何写入现有的bean实例?
beanReader.read(targetExistingBean, header, processors);
我怎样才能做到这一点,单义:
在supercsv,我可以用类似的东西做的?
答
目前做的是通过覆盖的BeanProcessor
或BeanListProcessor
(无论你正在使用)的createBean
方法的唯一途径:
BeanListProcessor<Car> carProcessor = new BeanListProcessor<Car>(Car.class){
@Override
public Car createBean(String[] row, Context context) {
//analyze the row here to determine whether to return an existing instance
//if you need a new instance, call super.createBean(row, context);
}
};
希望这有助于。