Como Ler um Arquivo Linha por Linha em Java

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:

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);
				// 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:

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();
		}
	}

}

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:

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();
		}
	}

}

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:

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();
		}
	}

}

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