弃用的 CSVWriter 构造函数
Deprecated CSVWriter constructor
我正在使用 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;
}
但我不太确定该放什么,因为我不希望我的文件以不同的方式结束。
这是具有默认值的同一个构造函数:
CSVWriter writer = new CSVWriter(
new OutputStreamWriter(new FileOutputStream(SAZKOVA_UDALOST),
StandardCharsets.UTF_8), ';', '"', '"', "\n");
Default value for separator
is ;
. Default value for quotechar
is
"
. Default value for escapechar
is "
. Default value for
lineEnd
is "\n"
.
class 已经有代表默认值的静态字段,所以你可以简单地做:
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
);
我正在使用 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;
}
但我不太确定该放什么,因为我不希望我的文件以不同的方式结束。
这是具有默认值的同一个构造函数:
CSVWriter writer = new CSVWriter(
new OutputStreamWriter(new FileOutputStream(SAZKOVA_UDALOST),
StandardCharsets.UTF_8), ';', '"', '"', "\n");
Default value for
separator
is;
. Default value forquotechar
is"
. Default value forescapechar
is"
. Default value forlineEnd
is"\n"
.
class 已经有代表默认值的静态字段,所以你可以简单地做:
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
);