Wie man eine Datei in Java zeilenweise liest

Einführung

In diesem Artikel erfahren Sie verschiedene Möglichkeiten, wie Sie Java verwenden können, um den Inhalt einer Datei zeilenweise zu lesen. Dieser Artikel verwendet Methoden aus den folgenden Java-Klassen: java.io.BufferedReader, java.util.Scanner, Files.readAllLines() und java.io.RandomAccessFile.

Lesen einer Datei zeilenweise mit BufferedReader

Sie können die Methode readLine() von java.io.BufferedReader verwenden, um eine Datei zeilenweise als String zu lesen. Diese Methode gibt null zurück, wenn das Ende der Datei erreicht ist.

Hier ist ein Beispielprogramm zum zeilenweisen Lesen einer Datei mit 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);
				// nächste Zeile lesen
				line = reader.readLine();
			}

			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

Setzen Sie Ihr Lernen fort mit der BufferedReader API-Dokumentation (Java SE 8).

Das Lesen einer Datei Zeile für Zeile mit Scanner

Sie können die Klasse Scanner verwenden, um eine Datei zu öffnen und dann deren Inhalt zeilenweise zu lesen.

Hier ist ein Beispielprogramm zum Lesen einer Datei zeilenweise mit 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();
		}
	}

}

Setzen Sie Ihr Lernen mit der Scanner-API-Dokumentation (Java SE 8) fort.

Das Lesen einer Datei Zeile für Zeile mit Files

java.nio.file.Files ist eine Hilfsklasse, die verschiedene nützliche Methoden enthält. Die Methode readAllLines() kann verwendet werden, um alle Zeilen der Datei in eine Liste von Strings zu lesen.

Hier ist ein Beispielprogramm zum Lesen einer Datei zeilenweise mit 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();
		}
	}

}

Fahren Sie mit dem Lernen fort mit der Files-API-Dokumentation (Java SE 8).

Lesen einer Datei zeilenweise mit RandomAccessFile

Sie können RandomAccessFile verwenden, um eine Datei im Lese-Modus zu öffnen und dann die Methode readLine zu verwenden, um eine Datei zeilenweise zu lesen.

Hier ist ein Beispielprogramm zum zeilenweisen Lesen einer Datei mit 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();
		}
	}

}

Fahren Sie mit dem Lernen fort mit der RandomAccessFile-API-Dokumentation (Java SE 8).

Schlussfolgerung

In diesem Artikel haben Sie verschiedene Möglichkeiten kennengelernt, wie Sie Java verwenden können, um den Inhalt einer Datei zeilenweise zu lesen.

Fahren Sie mit Ihrem Lernen fort mit weiteren Java-Tutorials.

Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line