„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum schneidet mein Java BufferedWriter die Ausgabe in meine SQL -Datei ab?

Warum schneidet mein Java BufferedWriter die Ausgabe in meine SQL -Datei ab?

Gepostet am 2025-03-23
Durchsuche:520

Why is My Java BufferedWriter Truncating Output to My SQL File?

bufferedWriter Text -Trinkierung in der Ausgabedatei

Dieses Java -Programm verwandelt CSV -Daten in SQL -Befehle für die Dateneinführung in eine Tabelle. Es stößt jedoch auf ein Problem, bei dem nicht der gesamte transformierte Text in der Ausgabe -SQL -Datei angezeigt wird.

Die Quelldatei enthält über 10.000 Datenzeilen, und das Programm scheinbar korrekt funktioniert, es wird jedoch durch die Erzeugung einer SQL -Anweisung abrupt eingestellt. This truncation typically occurs after processing approximately 10,000 lines, leaving several hundred lines unread.

To resolve this issue, it is necessary to close the OutputStream to ensure that any remaining data is written to the file:

out.close();

Understanding Output Buffers in Java

A Der BufferedWriter unterhält intern einen Puffer, der schriftliche Daten vorübergehend speichert. Die Standardpuffergröße beträgt 8192 Zeichen, wodurch Hunderte von Textzeilen aufnehmen können. Wenn der Puffer die Kapazität erreicht oder wenn der Stream geschlossen ist, werden die Daten in die zugrunde liegende Datei gespült.

In diesem Fall reicht die Puffergröße aus, um alle Datenzeilen zu halten, die verarbeitet werden. Bis der Puffer jedoch gespült ist, werden die Daten nicht tatsächlich in die Datei geschrieben. Das Schließen des Ausgabestreams löst den Spülenprozess explizit aus und stellt sicher, dass der gesamte transformierte Text in die SQL -Datei geschrieben wird.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3