如何使用 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