我正在使用OpenCSV创建由数据库记录填充的CSV文件。我正在使用这个:
CSVWriter writer = new CSVWriter(
new OutputStreamWriter(new FileOutputStream("example.csv"),
StandardCharsets.UTF_8), ';');
问题是,此构造函数为@Deprecated
。
该库具有多个构造函数,但仅不弃用一个。我正在使用此构造函数:
/** @deprecated */
@Deprecated
public CSVWriter(Writer writer, char separator) {
this(writer, separator, '"');
}
当我应该使用这个时:
public CSVWriter(Writer writer, char separator, char quotechar, char escapechar, String lineEnd) {
super(writer, lineEnd);
this.escapechar = escapechar;
this.quotechar = quotechar;
this.separator = separator;
}
但是我不确定在其中放置什么,因为我不希望文件以不同的结尾。
答案 0 :(得分:2)
该类已经具有表示默认值的静态字段,因此您可以简单地执行以下操作:
CSVWriter writer = new CSVWriter(
new OutputStreamWriter(new FileOutputStream("example.csv"), StandardCharsets.UTF_8),
';',
CSVWriter.DEFAULT_QUOTE_CHARACTER,
CSVWriter.DEFAULT_ESCAPE_CHARACTER,
CSVWriter.DEFAULT_LINE_END
);
答案 1 :(得分:1)
这是具有默认值的相同构造函数:
CSVWriter writer = new CSVWriter(
new OutputStreamWriter(new FileOutputStream(SAZKOVA_UDALOST),
StandardCharsets.UTF_8), ';', '"', '"', "\n");
separator
的默认值为;
。quotechar
的默认值为"
。escapechar
的默认值为"
。的默认值lineEnd
是"\n"
。