下面是详细讲解“Java实现将类数据逐行写入CSV文件的方法详解”的完整攻略。
什么是CSV文件
CSV(Comma Separated Values)即逗号分隔值,是一种常见的在电子表格和数据库中使用的文本文件格式。每一行表示一条记录,每条记录里的各字段之间使用逗号(或其他分隔符)隔开。
操作步骤
- 创建CSVWriter对象
Java中可以使用第三方库opencsv来操作CSV文件,首先需要通过CSVWriter类来创建一个CSV文件写入对象。下面是创建CSVWriter对象的代码示例:
CSVWriter writer = new CSVWriter(new FileWriter("output.csv"));
以上代码实现了创建一个名为output.csv的CSV文件写入对象writer。
- 写入数据
接下来需要将类数据逐行写入CSV文件中。需要注意的是,opencsv中的CSVWriter对象提供了多种方法用于将不同类型的数据写入CSV文件,比如写入一整行、写入一个数组、写入一个列表等。下面是将类数据逐行写入CSV文件中的示例代码:
List<Person> personList = new ArrayList<>();
personList.add(new Person("Tom", "12", "Male"));
personList.add(new Person("Lucy", "11", "Female"));
for (Person person : personList) {
writer.writeNext(new String[]{person.getName(), person.getAge(), person.getGender()});
}
以上代码实现了将两个Person对象逐行写入CSV文件中,实际上CSV文件中的每一行都是一个String[]数组。
- 关闭CSVWriter对象
写入完毕后,需要通过close()方法关闭CSVWriter对象,以避免资源泄漏,释放系统资源。代码示例如下:
writer.close();
示例代码
下面是完整的示例代码:
import com.opencsv.CSVWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CsvFileWriter {
public static void main(String[] args) {
try {
CSVWriter writer = new CSVWriter(new FileWriter("output.csv"));
List<Person> personList = new ArrayList<>();
personList.add(new Person("Tom", "12", "Male"));
personList.add(new Person("Lucy", "11", "Female"));
for (Person person : personList) {
writer.writeNext(new String[]{person.getName(), person.getAge(), person.getGender()});
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static class Person {
private String name;
private String age;
private String gender;
public Person(String name, String age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
}
以上示例代码实现了将两个Person对象逐行写入CSV文件中。通过运行程序可以在项目根目录下生成名为output.csv的CSV文件,其中包含两行数据记录。
示例输出
以下是运行以上示例代码后输出的CSV文件(使用Excel打开):
Tom | 12 | Male |
---|---|---|
Lucy | 11 | Female |
以上就是“Java实现将类数据逐行写入CSV文件的方法详解”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现将类数据逐行写入CSV文件的方法详解 - Python技术站