名为OpenCSV的库提供API来从.CSV文件读取数据或将数据写入.CSV文件。此处说明了如何使用Java程序写入.csv文件的内容。
<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()方法writeNext()CSVWriter类的方法将下一行写入.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.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