如何使用 Java 将数据写入 .csv 文件?

java 8object oriented programmingprogramming更新于 2025/6/26 22:07:17

OpenCSV 库提供了用于从 .csv 文件读取数据和将数据写入 .csv 文件的 API。本文将讲解如何使用 Java 程序将内容写入 .csv 文件。

Maven 依赖项

<dependency>
   <groupId>com.opencsv</groupId>
   <artifactId>opencsv</artifactId>
   <version>4.4</version>
</dependency>
<dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
   <version>3.9</version>
</dependency>

com.opencsv 包中的 CSVWriter 类代表一个简单的 csv 写入器。实例化此类时,您需要将一个 Writer 对象作为参数传递给其构造函数,该对象表示要写入数据的文件。

它提供了名为 writeAll()writeNext() 的方法,用于将数据写入 .csv 文件。

使用 writeNext() 方法

CSVWriter 类的 writeNext() 方法将下一行写入 .csv 文件

示例

以下 Java 程序演示了如何使用 writeNext() 方法将数据写入 .csv 文件。

import java.io.FileWriter;
import com.opencsv.CSVWriter;
public class WritingToCSV {
   public static void main(String args[]) throws Exception {
      //实例化 CSVWriter 类
      CSVWriter writer = new CSVWriter(new FileWriter("D://output.csv"));
      //将数据写入 csv 文件
      String line1[] = {"id", "name", "salary", "start_date", "dept"};
      String line2[] = {"1", "Krishna", "2548", "2012-01-01", "IT"};
      String line3[] = {"2", "Vishnu", "4522", "2013-02-26", "Operations"};
      String line4[] = {"3", "Raja", "3021", "2016-10-10", "HR"};
      String line5[] = {"4", "Raghav", "6988", "2012-01-01", "IT"};
      //将数据写入 csv 文件
      writer.writeNext(line1);
      writer.writeNext(line2);
      writer.writeNext(line3);
      writer.writeNext(line4);
      //将数据从 writer 写入文件
      writer.flush();
      System.out.println("Data entered");
   }
}

输出

Data entered

使用 writeAll() 方法

此方法接受一个包含待写入内容的 List 对象(String 数组类型),并将其一次性写入 .csv 文件。

示例

以下 Java 程序演示了如何使用 writeAll() 方法将内容写入 .csv 文件。

import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import com.opencsv.CSVWriter;
public class WritingToCSV {
   public static void main(String args[]) throws Exception {
      //实例化 CSVWriter 类
      CSVWriter writer = new CSVWriter(new FileWriter("D://output.csv"));
      //将数据写入 csv 文件
      String line1[] = {"id", "name", "salary", "start_date", "dept"};
      String line2[] = {"1", "Krishna", "2548", "2012-01-01", "IT"};
      String line3[] = {"2", "Vishnu", "4522", "2013-02-26", "Operations"};
      String line4[] = {"3", "Raja", "3021", "2016-10-10", "HR"};
      String line5[] = {"4", "Raghav", "6988", "2012-01-01", "IT"};
      //实例化列表对象
      List list = new ArrayList();
      list.add(line1);
      list.add(line2);
      list.add(line3);
      list.add(line4);
      list.add(line5);
      //将数据写入 csv 文件
      writer.writeAll(list);
      writer.flush();
      System.out.println("Data entered");
   }
}

输出

Data entered

相关文章