Wie kann man mit BufferedWriter in Java große Datenmengen effizient leeren und in eine Datei schreiben?Java

Java-Forum
Anonymous
 Wie kann man mit BufferedWriter in Java große Datenmengen effizient leeren und in eine Datei schreiben?

Post by Anonymous »

Ich arbeite an einem Java-Projekt, bei dem ich eine große Anzahl von Zeilen in eine Datei schreiben muss. Ich weiß, dass BufferedWriter die Leistung im Vergleich zum zeichenweisen Schreiben verbessern kann, aber ich bin mir nicht sicher, welche Best Practices zum Leeren des Puffers und Sicherstellen, dass alle Daten korrekt geschrieben werden gelten.
Hier ist mein aktueller Code:

Code: Select all

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class FileWriteExample {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
for (int i = 0; i < 100000; i++) {
writer.write("Line " + i + "\n");
}
// Do I need to call writer.flush() here explicitly?
} catch (IOException e) {
e.printStackTrace();
}
}
}
Fragen:
  • Ist es notwendig, write.flush() explizit aufzurufen, bevor der BufferedWriter geschlossen wird?
  • Gibt es Leistungsunterschiede zwischen dem periodischen Aufruf von „flush()“ innerhalb der Schleife und dem Verlassen auf Try-with-Resources?
  • Was sind die empfohlenen Best Practices zum effizienten Schreiben großer Dateien in Java?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post