介紹
在這篇文章中,您將了解使用Java逐行讀取文件內容的不同方法。本文使用了以下Java類的方法:java.io.BufferedReader
、java.util.Scanner
、Files.readAllLines()
和java.io.RandomAccessFile
。
使用BufferedReader
逐行讀取文件
您可以使用java.io.BufferedReader
的readLine()
方法逐行讀取文件內容並轉換為字符串。該方法在達到文件結尾時返回null
。
以下是使用BufferedReader
逐行讀取文件的示例程序:
ReadFileLineByLineUsingBufferedReader.java
package com.journaldev.readfileslinebyline;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLineUsingBufferedReader {
public static void main(String[] args) {
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("sample.txt"));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
// 讀取下一行
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
繼續學習,參考BufferedReader
API文檔(Java SE 8)。
使用Scanner
逐行讀取文件
您可以使用Scanner
類打開文件,然後逐行讀取其內容。
以下是使用Scanner
逐行讀取文件的示例程式:
ReadFileLineByLineUsingScanner.java
package com.journaldev.readfileslinebyline;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileLineByLineUsingScanner {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("sample.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
繼續學習Scanner
API 文件(Java SE 8)。
使用Files
逐行讀取文件
java.nio.file.Files
是一個包含各種有用方法的實用類。 readAllLines()
方法可用於將所有文件行讀入字符串列表中。
以下是使用Files
逐行讀取文件的示例程式:
ReadFileLineByLineUsingFiles.java
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadFileLineByLineUsingFiles {
public static void main(String[] args) {
try {
List<String> allLines = Files.readAllLines(Paths.get("sample.txt"));
for (String line : allLines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
繼續學習使用 Files
API 文檔(Java SE 8)。
使用 RandomAccessFile
逐行讀取文件
您可以使用 RandomAccessFile
打開文件以 讀取模式,然後使用其 readLine
方法逐行讀取文件。
以下是使用 RandomAccessFile
逐行讀取文件的示例程序:
ReadFileLineByLineUsingRandomAccessFile.java
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileLineByLineUsingRandomAccessFile {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("sample.txt", "r");
String str;
while ((str = file.readLine()) != null) {
System.out.println(str);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
繼續學習使用 RandomAccessFile
API 文檔(Java SE 8)。
結論
在本文中,您了解了使用Java逐行讀取文件內容的不同方法。
繼續學習更多 Java 教程。
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line