在OpenCSV中使用captureHeader

时间:2013-04-02 22:42:15

标签: java opencsv

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

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

OpenCSV API

1 个答案:

答案 0 :(得分:5)

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

示例:

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

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