介绍
在本实验中,我们将学习如何在 Java 中读取 CSV 文件。CSV 文件通常用于以简单且易于阅读的格式存储数据。我们将介绍三种不同的方法来读取 Java 中的 CSV 文件:使用 BufferedReader
、Scanner
和 OpenCSV
库。
在本实验中,我们将学习如何在 Java 中读取 CSV 文件。CSV 文件通常用于以简单且易于阅读的格式存储数据。我们将介绍三种不同的方法来读取 Java 中的 CSV 文件:使用 BufferedReader
、Scanner
和 OpenCSV
库。
我们将在 ~/project
目录下创建一个新的 Java 项目。通过在终端中运行以下命令,在 src
目录下创建一个名为 CSVReaderDemo.java
的新 Java 类:
cd ~/project
mkdir src
javac -d src src/CSVReaderDemo.java
在文本编辑器中打开 CSVReaderDemo.java
。
我们将使用 java.io
包中的 BufferedReader
类来读取 CSV 文件。以下代码展示了如何使用 BufferedReader
读取 CSV 文件:
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
public class CSVReaderDemo {
public static void main(String[] args) {
try {
List<List<String>> data = new ArrayList<>(); // 用于存储数据的列表
String file = "path/to/csv/file.csv"; // 替换为你自己的 CSV 文件路径
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
// 逐行读取文件内容
String line = br.readLine();
while (line != null) {
List<String> lineData = Arrays.asList(line.split(","));
data.add(lineData);
line = br.readLine();
}
// 打印读取的数据
for (List<String> list : data) {
for (String str : list) {
System.out.print(str + " ");
}
System.out.println();
}
br.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
要运行代码,请在终端中执行以下命令:
cd ~/project
java -cp src CSVReaderDemo
我们也可以使用 java.util
包中的 Scanner
类来读取 CSV 文件。以下代码展示了如何使用 Scanner
读取 CSV 文件:
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Arrays;
public class CSVReaderDemo {
public static void main(String[] args) {
try {
List<List<String>> data = new ArrayList<>();
String filePath = "path/to/csv/file.csv"; // 替换为你自己的 CSV 文件路径
File file = new File(filePath);
Scanner s = new Scanner(file);
while (s.hasNextLine()) {
List<String> lineData = Arrays.asList(s.nextLine().split(","));
data.add(lineData);
}
for (List<String> list : data) {
for (String str : list) {
System.out.print(str + " ");
}
System.out.println();
}
s.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
要运行代码,请在终端中执行以下命令:
cd ~/project
java -cp src CSVReaderDemo
对于更复杂的 CSV 文件,我们可以使用 OpenCSV
库。我们将创建一个 CSVReader
对象,并使用 readNext()
方法读取 CSV 文件的行。以下代码展示了如何使用 OpenCSV 读取 CSV 文件:
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import com.opencsv.CSVReader;
import java.util.Arrays;
public class CSVReaderDemo {
public static void main(String[] args) {
try {
List<List<String>> data = new ArrayList<>();
String filePath = "path/to/csv/file.csv"; // 替换为你自己的 CSV 文件路径
FileReader fr = new FileReader(filePath);
CSVReader reader = new CSVReader(fr);
String[] lineData = reader.readNext();
while (lineData != null) {
data.add(Arrays.asList(lineData));
lineData = reader.readNext();
}
for (List<String> list : data) {
for (String str : list) {
System.out.print(str + " ");
}
System.out.println();
}
reader.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
要运行代码,请在终端中执行以下命令:
cd ~/project
java -cp ".:lib/*:src" CSVReaderDemo
在本实验中,我们学习了三种不同的 Java 读取 CSV 文件的方法:使用 BufferedReader
、Scanner
以及 OpenCSV
库。BufferedReader
和 Scanner
都适用于简单的 CSV 文件,而 OpenCSV
则更适合处理更复杂的 CSV 文件。现在,你应该能够轻松地在 Java 中读取 CSV 文件了!