Я использую 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
.