2

我想使用 java 在 csv 中插入一个空行。我写了以下代码:

CSVFormat csvFileFormat = CSVFormat.DEFAULT.withRecordSeparator("\n").withEscape('\\');
FileWriter fileWriter = new FileWriter(csvFile);

CSVPrinter csvFilePrinter = new CSVPrinter(fileWriter,csvFileFormat);

csvFilePrinter.printRecord("data1");
csvFilePrinter.printRecord("\n");
csvFilePrinter.printRecord("data2");

当我在记事本 ++ 中打开这个生成的 CSV 时,我得到 2 个空行:

 data1
 " 
 "
 data2

我怎样才能得到一个空行?

4

4 回答 4

3

printRecord在数据之后打印记录分隔符,在本例中为换行符。

然后打印一个换行符,该换行符打印为一个包含另一个换行符的字符串,它在不同的行上为您提供这两个双引号。

只需删除打印换行符的行,或者,如果您真的想要该空行,请使用csvFilePrinter.println()它将输出记录分隔符(在您的情况下为"\n")。

于 2018-03-21T13:23:21.320 回答
2

Try将自动转义该行。您不需要额外的转义字符。csvFilePrinter.printRecord(""); csvFilePrinter.println(); printRecord

于 2018-03-21T13:22:47.767 回答
1

我想用替换csvFilePrinter.printRecord("\n");可以csvFilePrinter.println();完成这项工作。 println()将输出行分隔符,因此您将获得没有引号的完全空行。

希望能帮助到你!

于 2018-03-21T13:22:09.707 回答
0

您定义 CSVFilePrinter

CSVFormat.DEFAULT.withRecordSeparator("\n")

因此,对于每条记录,\n都会附加一个附加信息。然后打印三个记录:“data1”、“\n”、“data2”

这将导致“data1\n\n\ndata2\n”,这正是您得到的结果。

只需将第二条记录替换为“”。

于 2018-03-21T13:28:03.567 回答