跳到主要内容

Java 程序:逐行读取文件内容

要理解这个示例,你应该具备以下 Java 编程主题的知识:

示例 1:使用 BufferedInputStream 读取文件的 Java 程序

import java.io.BufferedInputStream;
import java.io.FileInputStream;

class Main {
public static void main(String[] args) {
try {

// 创建 FileInputStream
FileInputStream file = new FileInputStream("input.txt");

// 创建 BufferedInputStream
BufferedInputStream input = new BufferedInputStream(file);

// 从文件中读取第一个字节
int i = input.read();

while (i != -1) {
System.out.print((char) i);

// 从文件中读取下一个字节
i = input.read();
}
input.close();
}

catch (Exception e) {
e.getStackTrace();
}
}
}

输出

第一行
第二行
第三行
第四行
第五行

在上面的示例中,我们使用了 BufferedInputStream 类来逐行读取名为 input.txt 的文件。

注意:要运行这个程序,你的当前工作目录中应该有一个名为 input.txt 的文件。

示例 2:使用 BufferedReader 读取文件的 Java 程序

import java.io.FileReader;
import java.io.BufferedReader;

class Main {
public static void main(String[] args) {

// 创建字符数组
char[] array = new char[100];

try {
// 创建 FileReader
FileReader file = new FileReader("input.txt");

// 创建 BufferedReader
BufferedReader input = new BufferedReader(file);

// 读取字符
input.read(array);
System.out.println("文件中的数据: ");
System.out.println(array);

// 关闭读取器
input.close();
}

catch(Exception e) {
e.getStackTrace();
}
}
}

输出

文件中的数据:
第一行
第二行
第三行
第四行
第五行

在上面的示例中,我们使用了 BufferedReader 类 来读取名为 input.txt 的文件。

示例 3:使用 Scanner 读取文件的 Java 程序

import java.io.File;
import java.util.Scanner;

class Main {
public static void main(String[] args) {

try {
// 创建一个新的文件对象
File file = new File("input.txt");

// 创建与文件关联的 Scanner 对象
Scanner sc = new Scanner(file);

// 从文件中逐行读取并打印
System.out.println("使用 Scanner 读取文件:");
while(sc.hasNextLine()) {
System.out.println(sc.nextLine());
}

// 关闭扫描器
sc.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}

输出

使用 Scanner 读取文件:
第一行
第二行
第三行
第四行
第五行

在上面的示例中,我们创建了一个名为 fileFile 类对象。然后,我们创建了一个与 file 关联的 Scanner 对象。

这里,我们使用了扫描器的方法:

  • hasNextLine() - 如果文件中有下一行,则返回 true
  • nextLine() - 从文件中返回整行内容

要了解更多关于扫描器的信息,请访问 Java Scanner