使用 Java 从 .csv 文件写入数据
java 8object oriented programmingprogramming更新于 2025/11/20 9:48: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 包中的 CSVReader 类代表一个简单的 CSV 读取器。实例化此类时,您需要将表示待读取文件的 Reader 对象作为参数传递给其构造函数。它提供了名为 readAll() 和 readNext() 的方法来读取 .csv 文件的内容。
使用 readNext() 方法
CSVReader 类的 readNext() 方法读取 .csv 文件的下一行,并以 String 数组的形式返回。
示例
以下 Java 程序演示了如何使用 readNext() 方法读取 .csv 文件的内容。
import java.io.FileReader;
import com.opencsv.CSVReader;
public class ReadFromCSV {
public static void main(String args[]) throws Exception {
//实例化 CSVReader 类
CSVReader reader = new CSVReader(new FileReader("D://sample.csv"));
//读取 csv 文件的内容
StringBuffer buffer = new StringBuffer();
String line[];
while ((line = reader.readNext()) != null) {
for(int i = 0; i<line.length; i++) {
System.out.print(line[i]+" ");
}
System.out.println(" ");
}
}
}
输出
id name salary start_date dept 1 Rick 623.3 2012-01-01 IT 2 Dan 515.2 2013-09-23 Operations 3 Michelle 611 2014-11-15 IT 4 Ryan 729 2014-05-11 HR 5 Gary 843.25 2015-03-27 Finance 6 Nina 578 2013-05-21 IT 7 Simon 632.8 2013-07-30 Operations 8 Guru 722.5 2014-06-17 Finance
将数据写入 CSV 文件
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

