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.