我正在使用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;
}但我不太清楚在那里放什么,因为我不希望我的文件结束不同。
发布于 2018-08-28 08:44:11
该类已经具有表示默认值的静态字段,因此您可以简单地这样做:
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
);发布于 2018-08-28 08:37:20
这是同一个具有默认值的构造函数:
CSVWriter writer = new CSVWriter(
new OutputStreamWriter(new FileOutputStream(SAZKOVA_UDALOST),
StandardCharsets.UTF_8), ';', '"', '"', "\n");
separator的默认值是;。quotechar的默认值是"。escapechar的默认值是"。lineEnd的默认值是"\n"。
https://stackoverflow.com/questions/52036146
复制相似问题