OpenCSV цитирует нулевые значения - PullRequest
0 голосов
/ 29 июня 2018

Используя библиотеку OpenCSV, вызывая StatefulBeanToCsv.write() мои нулевые значения заключаются в кавычки.

Пример:

String[] columns = new String[] {
    "Col1",
    "Col2",
    "Col3"
};

ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy();
strat.setColumnMapping(columns);

Writer writer = new FileWriter(outputFilePath);
StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer)
        .withMappingStrategy(strat)
        .build();
beanToCsv.write(items);
writer.close();

даст:

1,"",3

Когда я ожидаю:

"1",,"3"

У меня нет установить кавычки для всех полей через .withApplyQuotesToAll(true).

Если я использую .withApplyQuotesToAll(true), я получаю

"1","","3"

В какой-то момент библиотека кажется противоположной этому:

OpenCSV CSVWriter не добавляет символ кавычки для нулевого элемента

Как я могу обнулить значения, записанные как пустое / пустое значение, а не как пустую строку?

1 Ответ

0 голосов
/ 29 июня 2018

Похоже, что метод, который вы упомянули, не вызывая, на самом деле принимает логическое значение. Вы пробовали следующее?

.withApplyQuotesToAll(false)
...