如何在 Java 中逐行讀取文件

介紹

在這篇文章中,您將了解使用Java逐行讀取文件內容的不同方法。本文使用了以下Java類的方法:java.io.BufferedReaderjava.util.ScannerFiles.readAllLines()java.io.RandomAccessFile

使用BufferedReader逐行讀取文件

您可以使用java.io.BufferedReaderreadLine()方法逐行讀取文件內容並轉換為字符串。該方法在達到文件結尾時返回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