逐行读取文件内容的 Java 程序
要理解此示例,您应该具备以下 Java 编程的知识:
示例 1:使用 BufferedInputStream 读取文件的 Java 程序
import java.io.BufferedInputStream;
import java.io.FileInputStream;
public class Main {
public static void main(String[] args) {
try {
// Creates a FileInputStream
FileInputStream file = new FileInputStream("input.txt");
// Creates a BufferedInputStream
BufferedInputStream input = new BufferedInputStream(file);
// Reads first byte from file
int i = input .read();
while (i != -1) {
System.out.print((char) i);
// Reads next byte from the file
i = input.read();
}
input.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
输出
First Line
Second Line
Third Line
Fourth Line
Fifth Line
在上面的示例中,我们使用 BufferedInputStream
类从名为 input.txt 的文件中读取每一行。
注意:为了运行这个文件,你的当前工作目录中应该有一个名为 input.txt
的文件。
示例 2:使用 BufferedReader 读取文件的 Java 程序
import java.io.FileReader;
import java.io.BufferedReader;
public class Main {
public static void main(String[] args) {
// Creates an array of character
char[] array = new char[100];
try {
// Creates a FileReader
FileReader file = new FileReader("input.txt");
// Creates a BufferedReader
BufferedReader input = new BufferedReader(file);
// Reads characters
input.read(array);
System.out.println("Data in the file: ");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
输出
Data in the file:
First Line
Second Line
Third Line
Fourth Line
Fifth Line
在上面的例子中,我们使用了 BufferedReader 类来读取名为input.txt的文件。
示例 3:使用 Scanner 读取文件的 Java 程序
import java.io.File;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try {
// create a new file object
File file = new File("input.txt");
// create an object of Scanner
// associated with the file
Scanner sc = new Scanner(file);
// read each line from file and print it
System.out.println("Reading File Using Scanner:");
while(sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
// close scanner
sc.close();
} catch (Exception e) {
e.getStackTrace();
}
}
}
输出
Reading File Using Scanner:
First Line
Second Line
Third Line
Fourth Line
Fifth Line
在上面的例子中,我们创建了一个名 file
为的 File
类的对象. 然后我们使用 file
对象创建了一个 Scanner
对象.
在这里,我们使用了 Scanner
的方法
hasNextLine()
- 如果文件中有下一行,则返回 truenextLine()
- 从文件中返回整行
要了解有关 Scanner
类的更多信息,请访问 Java Scanner
。