java - 如何配置 Super CSV 以引用除列名之外的所有值?

标签 java csv supercsv

要求是:

  • 记录中的每个值都应加引号。
  • 列名称应以逗号和空格 (, ) 分隔。

例如

Name, Age, Location
"A","154","California"
"B","2","New York"

如何创建此类 SuperCSV 写作首选项?

最佳答案

使用以下自定义报价模式:

public class AllExceptHeaderQuoteMode implements QuoteMode {

    @Override
    public boolean quotesRequired(String csvColumn, CsvContext context, CsvPreference preference) {
        if (1 == context.getLineNumber()) {
            /*
             * Case whene column names are written
             */
            return false;
        } else {
            return true;
        }
    }
}

使用自定义报价模式:

CsvPreference preference = new CsvPreference.Builder(CsvPreference.STANDARD_PREFERENCE).useQuoteMode(new AllExceptHeaderQuoteMode()).build());

关于java - 如何配置 Super CSV 以引用除列名之外的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38657028/

相关文章:

java - 读取 .tsv 文件时跳过备用行

java - 使用 Java 获取 HTML - 一些字符未正确获取

java - 多个文件共享一个字符串

java - Java 和 Mysql 中 PreperedStatement 的错误

c# - 如何在不将上传的 CSV 文件保存到服务器的情况下读取它?

javascript - 使用 D3.js 解析上传的 CSV 文件

java - 输入流读取器

java - 使用 NIO (Java) 在 EOF 后重新读取文件

java - Super CSV (Java) - 读取列名中有空格的文件

java - Excel 不显示使用 Super CSV 创建的 CSV 文件中的变音字符