Para ler todas as linhas de um arquivo em Java usando a classe BufferedReader
, você pode usar o método readLine
em um loop enquanto houver mais linhas para ler. Aqui está um exemplo de como fazer isso:
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { try { // Abre o arquivo para leitura BufferedReader reader = new BufferedReader(new FileReader("arquivo.txt")); // Cria uma lista para armazenar as linhas lidas List<String> linhas = new ArrayList<>(); // Lê as linhas do arquivo enquanto houver mais linhas para ler String linha; while ((linha = reader.readLine()) != null) { linhas.add(linha); } // Fecha o arquivo reader.close(); // Faça alguma coisa com as linhas lidas aqui... } catch (IOException e) { e.printStackTrace(); } } }
Isso lerá todas as linhas do arquivo e as armazenará em uma lista de strings. Depois, você pode fazer o que quiser com essa lista, como imprimir as linhas ou processá-las de alguma outra maneira.
Observe que é necessário tratar a exceção IOException
caso ocorra um erro ao abrir o arquivo ou ao ler as linhas. Além disso, é importante lembrar de fechar o arquivo quando terminar de ler, para liberar os recursos do sistema.
Se você quiser ler todas as linhas de um arquivo em uma única string, pode usar o método lines
da classe Files
da biblioteca java.nio.file
ao invés de BufferedReader
. Aqui está um exemplo de como fazer isso:
import java.nio.file.Files; import java.nio.file.Paths; public class Main { public static void main(String[] args) { try { // Lê todas as linhas do arquivo em uma única string String texto = Files.readString(Paths.get("arquivo.txt")); // Faça alguma coisa com o texto aqui... } catch (IOException e) { e.printStackTrace(); } } }
Isso lerá todo o conteúdo do arquivo em uma única string, incluindo os caracteres de nova linha.