java - 如何使用 OpenCSV 区分空字符串和 null

标签 java null opencsv

这是我的代码:

CSVReader reader = new CSVReader(isReader);
while ((col = reader.readNext()) != null) {
   String c1 = col[1];
}

这是我的 csv 文件:

"a","","c"
"1",,"3"

有什么方法可以区分 null 和 ""吗? OpenCSV 似乎将所有内容都视为非空字符串。我可以让它将空字段视为 null 吗?

最佳答案

添加到@Gavriel 的答案,从 OpenCSV 3.6(可能更早)开始,我发现 strictQuotes 不再有助于返回 null。

CSVReaderBuilder 具有用于此目的的 withFieldAsNull()。

CSVReader csvReader = new CSVReaderBuilder(csvFileReader)
    .withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_SEPARATORS)
    .build();

关于java - 如何使用 OpenCSV 区分空字符串和 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25301620/

相关文章:

java - 用 Arrays.asList() 装箱

Java8 可选和 null 检查

Java CsvToBean.parse 失败并出现错误解析 CSV

java - 当我用 openCsv 再次写入文件时,这个文件被覆盖

hadoop - 当我在 Hive 中使用 OpenCSVSerde 时,为什么所有列都创建为字符串?

java - 在 JSTL 中接受对象

java - 当它也是默认的网络应用程序时,如何在网络应用程序的 context.xml 中设置上下文变量?

java:关于泛型结构的谜题

java - 无法找到图像

swift - 找不到 fatal error : unexpectedly found nil while unwrapping an Optional value