读取 CSV 文件

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/read_files("Read Files") java/FileandIOManagementGroup -.-> java/io("IO") subgraph Lab Skills java/user_input -.-> lab-117442{{"读取 CSV 文件"}} java/files -.-> lab-117442{{"读取 CSV 文件"}} java/read_files -.-> lab-117442{{"读取 CSV 文件"}} java/io -.-> lab-117442{{"读取 CSV 文件"}} end

导入库

我们需要导入库依赖项,以便在代码中使用 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 结构时存在一些限制。