Hallo,
ich schreibe gerade ein Programm, dass eine CSV-Datei erstellt.
Dabei verhält sich die Performance des Programms für mich unerwartet.
Ich habe folgenden Writer verwendet:
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
PrintWriter printWriter = new PrintWriter(bufferedWriter);
Die folgenden Methoden von PrintWriter verwende ich:
printWriter.print(','); //Separator
printWriter.println(); //Zeilenumbruch
printWriter.print(...) //Für Datentypen, die von Number ableiten
printWriter.write(String) //Für Strings
Jetzt habe ich folgendes Verhalten bemerkt. Das Programm läuft schneller, wenn ich nach jedem printWriter.println() die Methode printWriter.flush() aufrufen, als wie wenn ich nur am Ende printWriter.close() aufrufe.
Kann dies vielleicht daran liegen, dass ich eine SSD verwende?
ich schreibe gerade ein Programm, dass eine CSV-Datei erstellt.
Dabei verhält sich die Performance des Programms für mich unerwartet.
Ich habe folgenden Writer verwendet:
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
PrintWriter printWriter = new PrintWriter(bufferedWriter);
Die folgenden Methoden von PrintWriter verwende ich:
printWriter.print(','); //Separator
printWriter.println(); //Zeilenumbruch
printWriter.print(...) //Für Datentypen, die von Number ableiten
printWriter.write(String) //Für Strings
Jetzt habe ich folgendes Verhalten bemerkt. Das Programm läuft schneller, wenn ich nach jedem printWriter.println() die Methode printWriter.flush() aufrufen, als wie wenn ich nur am Ende printWriter.close() aufrufe.
Kann dies vielleicht daran liegen, dass ich eine SSD verwende?