java - 在 OpenCSV 中使用 captureHeader

标签 java opencsv

也许我不明白 OpenCSV 中的 captureHeader() 方法是做什么用的,但该方法获取 CSV 文件的 header 并将 protected “ header ”变量设置为这些值的字符串数组。

但是您如何访问这些 header 值以尝试将 csv 中的“first_name”与 Bean 中的“firstName”相匹配?想法是在实际解析完整的 csv 文件之前从这些 header 创建 MappingStrategy。但是 captureHeader() 是空的,'header' 是 protected 吗?

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 来完成您的任务。引用我的回答here .

关于java - 在 OpenCSV 中使用 captureHeader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15775729/

相关文章:

java - 如何在 Swing 中将选择限制为最多三个单选按钮中的两个?

java - 创建通用 JavaBean 构建器

java - 打开CSV将结果集导出为字符串类型

java - 如何通过命令行编译并运行java maven项目?

java - `Import from illegal package` 错误

java - 将所有字符串字段更改为大写

java - 如何使用 webdriver 和 TestNG 在单个类文件中运行两个 @Test 方法

java - 关于在2D游戏中编写重力代码的问题

java - 如何在读取 CSV 时删除双引号

java - 使用 sun.misc.Usafe 作为堆外内存并编写内存管理器?