Maison > Java > javaDidacticiel > Pourquoi mon Java BufferedWriter tronque-t-il la sortie vers mon fichier SQL ?

Pourquoi mon Java BufferedWriter tronque-t-il la sortie vers mon fichier SQL ?

Mary-Kate Olsen
Libérer: 2024-12-17 09:25:24
original
269 Les gens l'ont consulté

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

Troncation du texte BufferedWriter dans le fichier de sortie

Ce programme Java transforme les données CSV en commandes SQL pour l'insertion de données dans une table. Cependant, il rencontre un problème où tout le texte transformé n'apparaît pas dans le fichier SQL de sortie.

Le fichier source contient plus de 10 000 lignes de données et le programme semble fonctionner correctement, mais il s'arrête brusquement au milieu de la génération d'un Instruction SQL. Cette troncature se produit généralement après le traitement d'environ 10 000 lignes, laissant plusieurs centaines de lignes non lues.

Pour résoudre ce problème, il est nécessaire de fermer OutputStream pour garantir que toutes les données restantes sont écrites dans le fichier :

out.close();
Copier après la connexion

Comprendre les tampons de sortie en Java

Un BufferedWriter en interne maintient un tampon qui stocke temporairement les données écrites. La taille du tampon par défaut est de 8 192 caractères, ce qui peut contenir des centaines de lignes de texte. Lorsque le tampon atteint sa capacité ou lorsque le flux est fermé, les données sont vidées vers le fichier sous-jacent.

Dans ce cas, la taille du tampon est suffisante pour contenir toutes les lignes de données en cours de traitement. Cependant, tant que le tampon n'est pas vidé, les données ne sont pas réellement écrites dans le fichier. La fermeture de OutputStream déclenche explicitement le processus de vidage, garantissant que tout le texte transformé est écrit dans le fichier SQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal