使用 OpenCSV 库
OpenCSV 是一个强大的第三方库,具有以下特点:
- 每行读取任意数量的值
- 忽略引用元素中的逗号
- 处理跨越多行的条目
- 可配置的分隔符和引号字符
- 一次读取所有条目,或者使用迭代器样式模型
示例使用 OpenCSV 读取 Java 中的 CSV 文件
在给定的示例中,我们使用 CSVReader 类,该类包装了一个用于读取实际 CSV 文件的“FileReader”。
该文件正在使用分隔符逗号。
使用 reader.readNext(),我们逐行读取 CSV 文件。
读取所有行后,readNext()方法返回 null,程序终止。
package com.onitroad.csv.demoOpenCSV;
import java.io.FileReader;
import java.io.IOException;
import au.com.bytecode.opencsv.CSVReader;
public class OpenCSVExample {
public static void main(String[] args)
{
CSVReader reader = null;
try
{
// 创建CSVReader实例,使用逗号作为分隔符
reader = new CSVReader(new FileReader("SampleCSVFile.csv"), ',');
String [] nextLine;
// 读取一整行
while ((nextLine = reader.readNext()) != null)
{
for(String token : nextLine)
{
// 打印出各个字段值
System.out.println(token);
}
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
欢迎来到之路教程(on itroad-com)
使用 java.util.Scanner
Scanner 使用分隔符模式将其输入分解为标记,默认情况下与空格匹配。
然后可以使用各种 next 方法将结果字段转换为不同类型的值。
示例: 使用 Scanner 在 Java 中读取 CSV 文件
package com.onitroad.csv.demoScanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ScannerExample
{
public static void main(String[] args) throws FileNotFoundException
{
// 创建Scanner实例
Scanner scanner = new Scanner(new File("SampleCSVFile.csv"));
// 设置分隔符
scanner.useDelimiter(",");
// 打印字段值
while (scanner.hasNext())
{
System.out.print(scanner.next() + "|");
}
// 关闭 scanner
scanner.close();
}
}
日期:2020-09-17 00:09:24 来源:oir作者:oir
