【问题标题】:Using captureHeader in OpenCSV在 OpenCSV 中使用 captureHeader
【发布时间】:2013-04-02 22:42:14
【问题描述】:

也许我不明白 OpenCSV 中的 captureHeader() 方法的用途,但该方法会抓取 CSV 文件的标题并将受保护的“标题”变量设置为这些值的字符串数组。

但是,您如何访问这些标头值以尝试将 csv 中的“first_name”匹配到您的 Bean 中的“firstName”?这个想法是在实际解析完整的 csv 文件之前从这些标头创建 MappingStrategy 。但是 captureHeader() 是无效的,并且“标题”受到保护?

OpenCSV API

【问题讨论】:

    标签: java opencsv


    【解决方案1】:

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

    例子:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-11
      • 2015-02-22
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      相关资源
      最近更新 更多