在OpenCSV中使用captureHeader

xre*_*ref 3 java opencsv

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

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

OpenCSV API

bas*_*r_p 5

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

例:

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

您也可以HeaderColumnNameTranslateMappingStrategy用于您的任务.请参阅我的答案在这里.