java 使用 CSVReaderBuilder怎么解析csv文件
时间: 2023-09-12 17:07:35 浏览: 232
Java解析CSV文件
CSVReaderBuilder是OpenCSV库中的一个类,用于构建CSVReader对象,可以通过以下步骤来解析CSV文件:
1. 导入OpenCSV库的jar包,并在代码中引入CSVReaderBuilder类。
2. 创建一个CSVReaderBuilder对象,并设置CSV文件的路径、分隔符等参数。
```java
CSVReaderBuilder builder = new CSVReaderBuilder(new FileReader("path/to/csv/file"))
.withSeparator(',') // 设置分隔符为逗号
.withQuoteChar('"') // 设置引号字符为双引号
.withSkipLines(1); // 跳过第一行(表头)
```
3. 调用builder对象的build()方法,创建一个CSVReader对象。
```java
CSVReader reader = builder.build();
```
4. 使用CSVReader对象的readNext()方法逐行读取CSV文件中的数据,并将数据存储到一个字符串数组中。
```java
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
// 处理每一行数据
}
```
完整代码如下:
```java
import com.opencsv.CSVReader;
import com.opencsv.CSVReaderBuilder;
import java.io.FileReader;
import java.io.IOException;
public class CSVParser {
public static void main(String[] args) throws IOException {
CSVReaderBuilder builder = new CSVReaderBuilder(new FileReader("path/to/csv/file"))
.withSeparator(',')
.withQuoteChar('"')
.withSkipLines(1);
CSVReader reader = builder.build();
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
// 处理每一行数据
for (String field : nextLine) {
System.out.print(field + ",");
}
System.out.println();
}
}
}
```
注意:在使用OpenCSV库解析CSV文件时,需要根据实际情况设置分隔符、引号字符等参数,以确保正确解析。同时,也需要注意处理文件读取异常等错误情况。
阅读全文