📜  使用 OpenCSV 在Java中编写 CSV 文件(1)

📅  最后修改于: 2023-12-03 15:22:15.086000             🧑  作者: Mango

使用 OpenCSV 在 Java 中编写 CSV 文件

CSV(Comma-separated values)是一种常见的电子表格文件格式,通常用于存储和交换数据。在 Java 中,可以使用 OpenCSV 库来轻松地读取和编写 CSV 文件。

安装 OpenCSV

首先,在 pom.xml 文件中添加以下依赖:

<dependency>
  <groupId>com.opencsv</groupId>
  <artifactId>opencsv</artifactId>
  <version>5.5.2</version>
</dependency>
编写 CSV 文件

要编写 CSV 文件,可以使用 CSVWriter 类。以下是一个示例:

import com.opencsv.CSVWriter;
import java.io.FileWriter;
import java.io.IOException;

public class CsvWriterExample {
    public static void main(String[] args) throws IOException {
        String csvFile = "example.csv";
        FileWriter writer = new FileWriter(csvFile);

        CSVWriter csvWriter = new CSVWriter(writer,
                CSVWriter.DEFAULT_SEPARATOR,
                CSVWriter.DEFAULT_QUOTE_CHARACTER,
                CSVWriter.DEFAULT_ESCAPE_CHARACTER,
                CSVWriter.DEFAULT_LINE_END);

        String[] headerRecord = {"Name", "Age", "Country"};

        csvWriter.writeNext(headerRecord);

        csvWriter.writeNext(new String[]{"John Doe", "30", "USA"});
        csvWriter.writeNext(new String[]{"Jane Doe", "25", "Canada"});

        csvWriter.close();
    }
}

在这个示例中,我们建立了一个名为“example.csv”的 CSV 文件,并使用 CSVWriter 类来编写数据。首先,我们指定了文件的标题行(Name,Age 和 Country)。然后,我们将每个人的姓名,年龄和国家作为一个新的行写入文件。

注意,我们在创建 CSVWriter 对象时设置了一些默认值,例如分隔符(逗号)和引号字符(双引号)。

其他选项

OpenCSV 可以处理许多不同的 CSV 文件格式,包括支持引号分隔符,支持多行标题行,支持不同的换行符等。还有其他一些选项,可用于读取和编写 CSV 文件。

例如,如果您要读取 CSV 文件,可以使用 CSVReader 类,如下所示:

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.io.IOException;

public class CsvReaderExample {
    public static void main(String[] args) throws IOException {
        String csvFile = "example.csv";
        FileReader reader = new FileReader(csvFile);

        CSVReader csvReader = new CSVReader(reader,
                CSVReader.DEFAULT_SEPARATOR,
                CSVReader.DEFAULT_QUOTE_CHARACTER,
                CSVReader.DEFAULT_ESCAPE_CHARACTER,
                1);

        String[] nextRecord;
        while ((nextRecord = csvReader.readNext()) != null) {
            System.out.println(nextRecord[0] + ", "
                    + nextRecord[1] + ", "
                    + nextRecord[2]);
        }

        csvReader.close();
    }
}

在这个示例中,我们通过 CSVReader 类读取 CSV 文件。我们指定了标题行的行号为 1,表明文件的第一行是标题行。然后,我们可以循环读取每一行,并访问每个单元格的值。

总结

OpenCSV 是 Java 中使用 CSV 文件的一个简单而强大的库。它提供了许多选项和配置,使您可以轻松地读取和编写 CSV 文件。如果您需要在 Java 中处理 CSV 文件,我建议尝试使用 OpenCSV。