使用 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