首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不推荐的CSVWriter构造函数

不推荐的CSVWriter构造函数
EN

Stack Overflow用户
提问于 2018-08-27 09:19:19
回答 2查看 3.3K关注 0票数 2

我正在使用OpenCSV创建CSV文件,其中填充了数据库中的记录。我用的是:

代码语言:javascript
复制
        CSVWriter writer = new CSVWriter(
            new OutputStreamWriter(new FileOutputStream("example.csv"),
                    StandardCharsets.UTF_8), ';');

问题是,这个构造函数是@Deprecated

该库有几个构造函数,但只有一个不受欢迎。我正在使用这个构造函数:

代码语言:javascript
复制
/** @deprecated */
@Deprecated
public CSVWriter(Writer writer, char separator) {
    this(writer, separator, '"');
}

我应该用这个:

代码语言:javascript
复制
public CSVWriter(Writer writer, char separator, char quotechar, char escapechar, String lineEnd) {
    super(writer, lineEnd);
    this.escapechar = escapechar;
    this.quotechar = quotechar;
    this.separator = separator;
}

但我不太清楚在那里放什么,因为我不希望我的文件结束不同。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-28 08:44:11

该类已经具有表示默认值的静态字段,因此您可以简单地这样做:

代码语言:javascript
复制
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
);
票数 10
EN

Stack Overflow用户

发布于 2018-08-28 08:37:20

这是同一个具有默认值的构造函数:

代码语言:javascript
复制
CSVWriter writer = new CSVWriter(
            new OutputStreamWriter(new FileOutputStream(SAZKOVA_UDALOST),
                    StandardCharsets.UTF_8), ';', '"', '"', "\n");

separator的默认值是;quotechar的默认值是"escapechar的默认值是"lineEnd的默认值是"\n"

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52036146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档