也许我不理解OpenCSV中的captureHeader()方法是什么,但该方法捕获CSV文件的头,并将受保护的'header'变量设置为这些值的字符串数组。
但是,您如何访问这些头值,以尝试和匹配说"first_name"从csv到"firstName"在您的Bean?我们的想法是在实际解析完整的csv文件之前,从这些头文件创建MappingStrategy。然而,captureHeader()是一个void和'header'是受保护的吗?
OpenCSV API
您需要实现captureHeader
方法并将string[] header
存储在列表中。现在可以遍历该列表并根据bean进行映射。
的例子:
public void captureHeader(CSVReader reader){
super.captureHeader(reader);
List<String> csvHeader = Arrays.asList(header);
//iterate through the list
}
您也可以将HeaderColumnNameTranslateMappingStrategy
用于您的任务。