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 读取文件:
第一行
第二行
第三行
第四行
第五行
在上面的示例中,我们创建了一个名为 file
的 File
类对象。然后,我们创建了一个与 file
关联的 Scanner
对象。
这里,我们使用了扫描器的方法:
- hasNextLine() - 如果文件中有下一行,则返回 true
- nextLine() - 从文件中返回整行内容
要了解更多关于扫描器的信息,请访问 Java Scanner。