Cómo leer un archivo de texto grande línea por línea en Java sin pérdida de memoria
¡Hola a todos! Soy nuevo en Java y me encontré con un problema al leer un archivo de log grande (aproximadamente 500 MB). Necesito procesar cada línea por separado, pero cuando intento leer el archivo completo, el programa falla con OutOfMemoryError.
Así es como lo intenté:
```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();
// procesamiento de línea
System.out.println(line);
}
scanner.close();
}
}
```
Pero para archivos grandes esto funciona muy lento y consume mucha memoria. He oído hablar de BufferedReader, pero no entiendo cómo usarlo correctamente. Indiquen cómo leer un archivo línea por línea de manera eficiente, sin cargar todo en la memoria de una vez. Preferiblemente con un ejemplo de código.
Tags: java, rendimiento