读取 CSV 文件

JavaBeginner
立即练习

介绍

在本实验中,我们将学习如何使用 Java 编程语言读取 CSV 文件。CSV(Comma Separated Values,逗号分隔值)是一种用于在系统之间存储和交换数据的文件格式。我们将使用两种方法来读取 CSV 文件:使用 OpenCSV 库和使用 Scanner 类。

导入库

我们需要导入库依赖项,以便在代码中使用 OpenCSV 和 Scanner 类。在 CSVReader.java 文件的开头添加以下代码:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
import com.opencsv.CSVReader;

使用 OpenCSV 库读取 CSV 文件

我们可以使用 OpenCSV 库来读取 CSV 文件。以下代码片段展示了如何使用 OpenCSV 读取 CSV 文件。

try {
    FileReader fileReader = new FileReader("students.csv");
    CSVReader csvReader = new CSVReader(fileReader);
    String[] nextRecord;
    while ((nextRecord = csvReader.readNext()) != null) {
        System.out.println(nextRecord[0] + " " + nextRecord[1] + " " + nextRecord[2]);
    }
    csvReader.close();
} catch (IOException e) {
    System.out.println(e.getMessage());
}

保存更改并在终端中运行以下命令以编译并运行代码:

javac CSVReader.java && java CSVReader

此代码将读取当前目录中名为 students.csv 的 CSV 文件,并将 CSV 数据打印到控制台。

使用 Scanner 类读取 CSV 文件

我们也可以使用 Scanner 类来读取 CSV 文件。以下代码片段展示了如何实现:

try {
    File file = new File("students.csv");
    Scanner scanner = new Scanner(file);
    scanner.useDelimiter(",");
    while (scanner.hasNext()) {
        System.out.print(scanner.next() + " ");
    }
    scanner.close();
} catch (FileNotFoundException e) {
    System.out.println(e.getMessage());
}

在这个示例中,我们使用 Scanner 类读取名为 students.csv 的文件,并指定分隔符 , 来分隔 CSV 值。

保存更改并在终端中运行以下命令以编译并运行代码:

javac CSVReader.java && java CSVReader

此代码将读取当前目录中名为 students.csv 的 CSV 文件,并将 CSV 数据打印到控制台。

总结

在本实验中,我们学习了如何使用 Java 编程语言读取 CSV 文件。我们使用了两种方法来读取 CSV 文件:使用 OpenCSV 库和使用 Scanner 类。OpenCSV 库提供了一种便捷的方式来读取 CSV 文件,但需要外部依赖。Scanner 类提供了一种简单的方式来读取 CSV 文件,但在处理复杂的 CSV 结构时存在一些限制。