当我们需要读写csv文件时,可以选择使用opencsv库来简化操作。下面是使用opencsv读写csv文件的完整攻略。
首先需要在Maven或Gradle中引入opencsv库的依赖。
Maven依赖:
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.5.2</version>
</dependency>
Gradle依赖:
implementation 'com.opencsv:opencsv:5.5.2'
使用opencsv读取csv文件的过程很简单。首先需要创建一个CSVReader对象,然后使用该对象的readAll()
方法读取整个csv文件。
import com.opencsv.CSVReader;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.List;
public class CsvReaderExample {
public static void main(String[] args) throws Exception {
String filePath = "data.csv";
BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath));
CSVReader reader = new CSVReader(bufferedReader);
List<String[]> rows = reader.readAll();
for (String[] row : rows) {
System.out.println(row[0] + "," + row[1] + "," + row[2]);
}
reader.close();
}
}
在上面的示例中,我们读取了data.csv
文件,并将读取到的每一行(csv文件中的一行)保存在List<String[]>
类型的变量rows
中,最后遍历整个列表并打印出每一行的值。需要注意的是,使用完CSVReader后,一定要记得调用它的close()
方法来关闭文件句柄。
使用opencsv写入csv文件的过程与读取类似,也需要创建一个CSVWriter对象,并使用该对象的writeAll()
方法将数据写入到文件中。
import com.opencsv.CSVWriter;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
public class CsvWriterExample {
public static void main(String[] args) throws Exception {
String filePath = "output.csv";
FileWriter output = new FileWriter(filePath);
CSVWriter writer = new CSVWriter(output);
List<String[]> rows = new ArrayList<>();
rows.add(new String[]{"id", "name", "email"});
rows.add(new String[]{"1", "Alice", "alice@example.com"});
rows.add(new String[]{"2", "Bob", "bob@example.com"});
rows.add(new String[]{"3", "Charlie", "charlie@example.com"});
writer.writeAll(rows);
writer.close();
}
}
在上面的示例中,我们创建一个CSVWriter对象,并将需要写入文件的每一行数据(csv文件的每一行)保存在List<String[]>
类型的变量rows
中,最后使用CSVWriter的writeAll()
方法写入到文件中。需要注意的是,在写入之后,也要记得关闭文件句柄。
通过以上两个示例,我们可以很方便地使用opencsv读写csv文件。需要注意的是,在读写过程中也要注意文件句柄的关闭,避免资源泄漏。
本文链接:http://task.lmcjl.com/news/17411.html