本示例代码展示了如何使用Java编程语言读取CSV文件的内容。通过解析CSV格式的数据,帮助开发者高效处理表格数据信息。
Java 读取 CSV 文件内容是常见的数据处理操作之一。下面是一个用于实现这一功能的示例代码。
首先定义一个名为CsvUtil的工具类,它提供了多种方法来帮助用户读取CSV文件的内容、获取行数及列数等信息:
1. 构造函数:该类包含两个构造函数——一个是无参版本,另一个接受字符串参数(即CSV文件名)。
2. 成员变量:
- `fileName`用于存储CSV文件的名称;
- `br`为BufferedReader对象,用来读取文件内容;
- `list`是一个List类型的集合,保存了整个CSV的内容。
3. 方法:CsvUtil类中定义的方法包括:
1. 获取全部行数据(getList())
2. 获得总行数(getRowNum())
3. 查看列的数量(getColNum())
4. 按索引获取指定某一行的内容(getRow(int index))
以下是CsvUtil类的具体实现代码:
```java
package com.huateng.readcsv;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class CsvUtil {
private String fileName = null;
private BufferedReader br = null;
private List list = new ArrayList<>();
public CsvUtil() {}
public CsvUtil(String fileName) throws Exception {
this.fileName = fileName;
br = new BufferedReader(new FileReader(fileName));
String stemp;
while ((stemp = br.readLine()) != null) {
list.add(stemp);
}
}
public List getList() {
return list;
}
public int getRowNum() {
return list.size();
}
public int getColNum() {
if (!list.toString().equals([])) {
if (list.get(0).toString().contains(,)) {
return list.get(0).toString().split(,).length;
} else if (list.get(0).toString().trim().length() != 0) {
return 1;
} else {
return 0;
}
} else {
return 0;
}
}
public String getRow(int index) {
if (!this.list.isEmpty()) {
return (String) list.get(index);
} else {
return null;
}
}
}
```
使用CsvUtil类的示例代码如下:
```java
CsvUtil csvUtil = new CsvUtil(example.csv);
List list = csvUtil.getList();
int rowNum = csvUtil.getRowNum();
int colNum = csvUtil.getColNum();
String row = csvUtil.getRow(0);
// String col = csvUtil.getCol(0); // 获取指定列的功能未在示例中展示
```
此工具类可以满足大多数读取和处理CSV文件的需求。