Introdução
Neste artigo, você aprenderá sobre diferentes maneiras de usar Java para ler o conteúdo de um arquivo linha por linha. Este artigo utiliza métodos das seguintes classes Java: java.io.BufferedReader
, java.util.Scanner
, Files.readAllLines()
e java.io.RandomAccessFile
.
Lendo um Arquivo Linha por Linha usando BufferedReader
Você pode usar o método readLine()
de java.io.BufferedReader
para ler um arquivo linha por linha para String. Este método retorna null
quando o final do arquivo é alcançado.
Aqui está um exemplo de programa para ler um arquivo linha por linha com 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);
// ler próxima linha
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Continue sua aprendizagem com o BufferedReader
Documentação da API (Java SE 8).
Lendo um arquivo linha por linha usando Scanner
Você pode usar a classe Scanner
para abrir um arquivo e depois ler seu conteúdo linha por linha.
Aqui está um exemplo de programa para ler um arquivo linha por linha com 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();
}
}
}
Continue seu aprendizado com a documentação da API do Scanner
(Java SE 8).
Lendo um arquivo linha por linha usando Files
java.nio.file.Files
é uma classe utilitária que contém vários métodos úteis. O método readAllLines()
pode ser usado para ler todas as linhas do arquivo em uma lista de strings.
Aqui está um exemplo de programa para ler um arquivo linha por linha com 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();
}
}
}
Continue a sua aprendizagem com o Files
API Doc (Java SE 8).
Leitura de um Arquivo Linha por Linha usando RandomAccessFile
Você pode usar RandomAccessFile
para abrir um arquivo no modo de leitura e, em seguida, utilizar o método readLine
para ler um arquivo linha por linha.
Aqui está um exemplo de programa para ler um arquivo linha por linha com 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();
}
}
}
Continue a sua aprendizagem com o RandomAccessFile
API Doc (Java SE 8).
Conclusão
Neste artigo, você aprendeu sobre diferentes maneiras de usar o Java para ler o conteúdo de um arquivo linha por linha.
Continue a sua aprendizagem com mais tutoriais de Java.
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line