如何使用(#@#)等多字符分隔符生成CSV

时间:2019-01-25 11:28:36

标签: java export-to-csv apache-commons

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

0 个答案:

没有答案