CSVPrinter заключает в кавычки значение, даже если у него нет разделителя или разделителя строк

Когда для CSVFormat quoteMode установлено значение MINIMAL, оно должно заключать в кавычки значение только в том случае, если значение содержит разделитель (,) или разделитель строк '\n' в соответствии с javadoc. Но он заключает в кавычки, даже если значение содержит хэш (#). Пожалуйста, смотрите ниже пример кода

  @Test
  public void testCSV() throws IOException {
    String[] row = new String[]{"simple text","##5##"};
    CSVFormat CSV_FORMAT = CSVFormat.DEFAULT.withRecordSeparator("\n").withQuoteMode(QuoteMode.MINIMAL);

    StringWriter stringWriter = new StringWriter(1024);
    CSVPrinter csvPrinter = new CSVPrinter(stringWriter, CSV_FORMAT);
    csvPrinter.printRecord(row);
    System.out.println("sw : " + stringWriter.getBuffer().toString());
    csvPrinter.close();
    stringWriter.close();
  }

вывод: sw: простой текст,"##5##"

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

0 ответов

Другие вопросы по тегам