一、使用JavaCSV APl来读取csv文件
JavaCSV 官网地: https://sourceforge.net/projects/javacsv/
JavaCSV API 说明文档:http://javacsv.sourceforge.net/
二、使用步骤
1.添加 Maven 依赖
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>
2.写文件
要如何通过 javacsv生成 CSV 文件呢?参考下面的示例代码:
public static void writeFile(String writeCsvFilePath) {
// 创建 CSV Writer 对象, 参数说明(写入的文件路径,分隔符,编码格式)
CsvWriter csvWriter = new CsvWriter(path ,',', Charset.forName("GBK"));
try {
// 定义 header 头
String[] headers = {"实体", "实体名"};
// 写入 header 头
csvWriter.writeRecord(headers);
// 写入一千条记录
for (int i = 0; i < 1000; i++) {
String EName = "实体" + i;
String FullName= String.valueOf(i);
// 写入行
csvWriter.writeRecord((String[]) Arrays.asList(userName, payMoney).toArray());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
csvWriter.close();
}
}
public static void main(String[] args) {
String path = "/clue/" + 1.csv;
writeCsvFile(path);
}
}
3.读文件
说完了如何通过 javacsv来写 csv 文件,再来说说如何读取 csv 文件,就以上面生成的 csv 文件作为读取源,示例代码如下:
public class ReadAndWriterCsvFlie {
/**
* 读取 csv 文件
*/
public static void readCsvFile(String readCsvFilePath) {
// 缓存读取的数据
List<String[]> content = new ArrayList<>();
try {
// 创建 CSV Reader 对象, 参数说明(读取的文件路径,分隔符,编码格式)
CsvReader csvReader = new CsvReader(readCsvFilePath, ',', Charset.forName("GBK"));
// 跳过表头
csvReader.readHeaders();
// 读取除表头外的内容
while (csvReader.readRecord()) {
// 读取一整行
String line = csvReader.getRawRecord();
System.out.println(line);
content.add(csvReader.getValues());
}
csvReader.close();
for (int row = 0; row < content.size(); row++) {
// 读取第 row 行,第 0 列的数据
String EName = content.get(row)[0];
System.out.println("=== EName : " + EName );
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// 需要写入的 csv 文件路径
String path = "/clue/" + 1.csv;
readCsvFile(path);
}
}
总结
本文介绍,如何通过第三方库 JavaCSV来对 csv 文件进行读写操作。