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 aprendendo com a Documentação da API Scanner
(Java SE 8).
Lendo um Arquivo Linha por Linha usando Files
java.nio.file.Files
é uma classe de utilidade 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 sua aprendizagem com o Arquivos
API Doc (Java SE 8).
Lendo um Arquivo Linha por Linha usando RandomAccessFile
Você pode usar RandomAccessFile
para abrir um arquivo no modo de leitura e então usar seu 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 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 sua aprendizagem com mais tutoriais Java.
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line