Файл записи opencsv с некоторыми элементами в кавычках и другими без кавычек

Есть ли у кого-нибудь опыт использования opencsv в Java для написания CSV-файла, в котором только некоторые элементы нужно заключать в двойные кавычки? Желаемый результат, который я хочу проверить, - это создать файл, который будет читать:

1,"two",three

но когда я пробую следующий код

writer = new CSVWriter(new FileWriter("yourfile.csv"), ',',CSVWriter.NO_QUOTE_CHARACTER);
String[] entries = {"1","\"two\"","three"};
writer.writeNext(entries);
writer.close();

происходит следующий вывод

1,""two"",three

Мысли?


person user2012652    schedule 25.01.2013    source источник


Ответы (1)


Эти дополнительные кавычки являются escape-символами, используемыми OpenCSV. Вам необходимо использовать перегруженный конструктор, который позволяет отключить следующее:

writer = new CSVWriter(new FileWriter("yourfile.csv"), ',', 
           CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER);
...

Выход:

1,"two",three
person Reimeus    schedule 25.01.2013
comment
параметр без escape-символов будет сильно испортить символы, которые необходимо экранировать в ваших строковых полях. - person seinecle; 20.11.2016