Avatar ·

Wie man eine große Textdatei zeilenweise in Java liest, ohne Speicherlecks

Hallo zusammen! Ich bin neu in Java und habe ein Problem beim Lesen einer großen Logdatei (ca. 500 MB). Ich muss jede Zeile einzeln verarbeiten, aber wenn ich versuche, die gesamte Datei auf einmal zu lesen, stürzt das Programm mit einem OutOfMemoryError ab. So habe ich es versucht: ```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(); // Zeilenverarbeitung System.out.println(line); } scanner.close(); } } ``` Aber bei großen Dateien ist das sehr langsam und verbraucht viel Speicher. Ich habe von BufferedReader gehört, verstehe aber nicht, wie man ihn richtig verwendet. Könnt ihr mir sagen, wie man eine Datei effizient zeilenweise liest, ohne alles auf einmal in den Speicher zu laden? Am besten mit einem Codebeispiel. Tags: java, performance