Как создать CSV с многосимвольным разделителем, как (# @ #) - PullRequest
0 голосов
/ 25 января 2019

Я использую Apache Commons Csv для экспорта данных, и у него есть ограничение, что он поддерживает только один символ в качестве разделителя.

Мое требование - экспортировать данные, используя строковые / многосимвольные значения, такие как #@#, ##, || и т. Д.

Это пример данных, которые мне нужно экспортировать:

 id#@#name#@#address

 1#@#user1#@#Street, country

 2#@#user2#@#"Street#@#country"

Это мой код:

char delimiter = ',';
char quotechar= '"';
char escapechar= '\\';
CSVFormat csvFormat = CSVFormat.EXCEL.withDelimiter(delimiter).withQuote(quotechar).withEscape(escapechar).withQuoteMode(QuoteMode.MINIMAL); 
try {
    IPersistenceManager.OutputResource outputResource = persistenceManager.getOutputStream(resourceId + MESSAGE_SUFFIX);
    CSVPrinter writer = new CSVPrinter(new OutputStreamWriter(outputResource.Stream, Charset.defaultCharset(), csvFormat); 
    outputUri = outputResource.Uri;
    for (String[] row : dataSheet) {
        writer.printRecord(row);
    }
}

Может кто-нибудь подсказать мне, как этого добиться, используя CSVPrinter.

...