java - SuperCSV 编写器中的不区分大小写的标题?

标签 java case-insensitive supercsv

使用 CsvMapWriter,如果我添加一个标题,比如“Region”,然后用键“region”和值“Northeast”写一行,它不会被添加到 SuperCSV 输出中。我假设它没有找到一个有效的列来放入“区域”的值。

对于这个应用程序,我无法重命名标题,例如强制小写。并且行键/值对,如'region'和'northeast'可以大写,小写或混合大小写,但无论它是否应该添加到适当的不区分大小写的标题列(标题本身可能是'Region' , 'REGION' 等)

最佳答案

我想到了两个解决方案。

  1. 如果可能,请使用 CsvBeanWriter 而不是 CsvMapWriter

    - 或 -

  2. 用小写的 Map 实现包装您的 Map(或将值复制到具有正确大小写的新 map)。

小写映射实现(org.apache.commons.collections.map.CaseInsensitiveMap)可从 Apache Commons Collections 获得。 .

关于java - SuperCSV 编写器中的不区分大小写的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18005009/

相关文章:

java - 如何设置 <p :column> in a <p:dataTable> ? primefaces 的宽度和边距

java - Java线程池RejectedExecutionHandler传入的runnable对象是什么

python - 如何在 Python 中查找具有不区分大小写的特定扩展名的文件

regex - 为什么此正则表达式不返回任何匹配项?

java - SuperCSV 的输出不可读?

java - Scheduled Executor Service 只运行一次,没有抛出异常

java - MyBatis:尝试从具有原始返回类型的方法返回 null

java - 如何在 Java POJO 上创建不区分大小写的字段。寻找好的设计。

java - org.supercsv.exception.SuperCsvCellProcessorException : the input value should be of type java. lang.String 但是 java.util.Date