Avatar ·

Como ler um grande arquivo de texto linha por linha em Java sem vazamento de memória?

Olá a todos! Sou novo em Java e enfrentei um problema ao ler um grande arquivo de log (cerca de 500 MB). Preciso processar cada linha separadamente, mas quando tento ler o arquivo inteiro de uma vez, o programa trava com OutOfMemoryError. Aqui está como tentei fazer: ```java import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { File file = new File("bigfile.log"); Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { String line = scanner.nextLine(); // processamento da linha System.out.println(line); } scanner.close(); } } ``` Mas para arquivos grandes isso funciona muito lentamente e consome muita memória. Ouvi falar sobre BufferedReader, mas não entendo como usá-lo corretamente. Diga-me como ler o arquivo linha por linha de forma eficiente, sem carregar tudo na memória de uma vez? De preferência com um exemplo de código. Tags: java, performance