Introductie
In dit artikel leer je verschillende manieren om Java te gebruiken om de inhoud van een bestand regel voor regel te lezen. Dit artikel maakt gebruik van methoden uit de volgende Java-klassen: java.io.BufferedReader
, java.util.Scanner
, Files.readAllLines()
, en java.io.RandomAccessFile
.
Het lezen van een bestand regel voor regel met BufferedReader
Je kunt de readLine()
-methode van java.io.BufferedReader
gebruiken om een bestand regel voor regel naar een string te lezen. Deze methode retourneert null
wanneer het einde van het bestand is bereikt.
Hier is een voorbeeldprogramma om een bestand regel voor regel te lezen met BufferedReader
:
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);
// lees volgende regel
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ga verder met leren met de BufferedReader
API-documentatie (Java SE 8).
Het lezen van een bestand regel voor regel met behulp van Scanner
U kunt de klasse Scanner
gebruiken om een bestand te openen en vervolgens de inhoud regel voor regel te lezen.
Hier is een voorbeeldprogramma om een bestand regel voor regel te lezen met Scanner
:
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();
}
}
}
Ga verder met leren met de Scanner
API-documentatie (Java SE 8).
Het lezen van een bestand regel voor regel met behulp van Files
java.nio.file.Files
is een hulpprogrammaklasse die verschillende nuttige methoden bevat. De methode readAllLines()
kan worden gebruikt om alle regels van het bestand in een lijst van strings te lezen.
Hier is een voorbeeldprogramma om een bestand regel voor regel te lezen met Files
:
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();
}
}
}
Ga verder met je leren met de Files
API Doc (Java SE 8).
Het lezen van een bestand regel voor regel met behulp van RandomAccessFile
Je kunt RandomAccessFile
gebruiken om een bestand te openen in leesmodus en vervolgens de readLine
-methode gebruiken om een bestand regel voor regel te lezen.
Hier is een voorbeeldprogramma om een bestand regel voor regel te lezen met RandomAccessFile
:
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();
}
}
}
Ga verder met je leren met de RandomAccessFile
API Doc (Java SE 8).
Conclusie
In dit artikel heb je geleerd over verschillende manieren om Java te gebruiken om de inhoud van een bestand regel voor regel te lezen.
Ga verder met je leren met meer Java tutorials.
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line