我正在使用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
来实现这一目标。