编程语言
首页 > 编程语言> > java – 在OpenCSV中使用captureHeader

java – 在OpenCSV中使用captureHeader

作者:互联网

也许我不理解OpenCSV中的captureHeader()方法是什么,但该方法抓取CSV文件的头并将受保护的’header’变量设置为这些值的String数组.

但是那么如何访问这些标题值以尝试匹配从csv中的“first_name”到Bean中的“firstName”?想法是在实际解析完整的csv文件之前从这些头创建MappingStrategy.但是captureHeader()是一个空格而且’header’受到保护?

OpenCSV API

解决方法:

您需要实现captureHeader方法并将string []标头存储在列表中.您现在可以遍历此列表并根据您的bean进行映射.

例:

public void captureHeader(CSVReader reader){
    super.captureHeader(reader);
    List<String> csvHeader = Arrays.asList(header);
    //iterate through the list
    }

您也可以使用HeaderColumnNameTranslateMappingStrategy完成任务.请参阅我的答案here.

标签:opencsv,java
来源: https://codeday.me/bug/20190901/1780413.html