[英]CSVPrinter java
我目前正在使用 org.apache.commons.csv.CSVPrinter 在我的项目中创建一个 CSV 文件。 当我开始一个新项目并打算重用这段代码时:
BufferedWriter successWriter = Files.newBufferedWriter(Paths.get(successFile + "_" + sDate + ".csv"));
csvPrinter = new CSVPrinter(successWriter, CSVFormat.DEFAULT.withDelimiter(delimiter.charAt(0))
.withRecordSeparator("\n").withEscape('\\').withQuoteMode(QuoteMode.NONE));
我收到所有“with*”方法都已弃用的警告。
Apache 声明改为使用“set*”。 但由于这些是 CSVBuilder 方法,我不确定如何正确使用它们。
您能否提供一个示例,说明如何在给定代码中最好地使用它们?
提前谢谢了!
根据 javadoc( https://commons.apache.org/proper/commons-csv/apidocs/index.html )
DEFAULT 是一个 CSVFormat 实例,其中包含预定义的构建器。
您可以更新构建器或从头开始创建构建器。
这是一个简单的例子:
BufferedWriter successWriter = Files.newBufferedWriter(Paths.get( "C:\\temp\\testingtest.csv"));
char delimiter = ';';
CSVPrinter csvPrinter = new CSVPrinter(successWriter,
// Creates a new default builder.
CSVFormat.Builder.create()
// use setters
.setDelimiter(delimiter).setRecordSeparator("\n").setEscape('\\').setQuoteMode(QuoteMode.NONE).setHeader("h1","h2").build());
csvPrinter.printRecord("1", "2");
csvPrinter.flush();
注意:apache commons-csv 1.9 是最后一个版本,标记有来自依赖项的漏洞:
1.CVE-2022-23221
2.CVE-2021-42392
3.CVE-2021-23463
您可能不想在生产中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.