OpenCSV的最新版本弃用了该方法,并重新开始使用BeanBuilder,因此最重要的答案已经过时了。parse(X, Y)
try {
CsvToBeanBuilder<PersonCSV> beanBuilder = new CsvToBeanBuilder<>(new InputStreamReader(new FileInputStream("your.csv")));
beanBuilder.withType(PersonCSV.class);
// build methods returns a list of Beans
beanBuilder.build().parse().forEach(e -> log.error(e.toString()));
} catch (FileNotFoundException e) {
log.error(e.getMessage(), e);
}
此方法允许您清理代码并删除MapingStrategy(如果您喜欢意大利面条,您仍然可以使用它),因此您可以按如下方式注释CSV类:
@CsvDate("dd/MM/yyyy hh:mm:ss")
@CsvBindByName(column = "Time Born", required = true)
private Date birthDate;