Maison > Java > javaDidacticiel > Pourquoi mon Java BufferedWriter n'écrit-il pas toutes les données ?

Pourquoi mon Java BufferedWriter n'écrit-il pas toutes les données ?

Mary-Kate Olsen
Libérer: 2024-12-18 18:10:11
original
716 Les gens l'ont consulté

Why Doesn't My Java BufferedWriter Write All the Data?

BufferedWriter ne produit pas entièrement les données

En Java, la classe BufferedWriter est couramment utilisée pour écrire du texte sur le disque. Bien qu'il utilise des techniques de mise en mémoire tampon pour améliorer les performances, il existe des cas où il peut ne pas parvenir à écrire toutes les données prévues dans le fichier de sortie.

Un tel cas se produit lorsque le tampon BufferedWriter dépasse sa taille par défaut. Par défaut, la taille du tampon est définie sur 8 192 caractères, ce qui peut facilement contenir des centaines de lignes de données. Cependant, si la quantité de données dépasse la capacité du tampon, les données ne seront pas écrites dans le fichier tant que le tampon n'aura pas été explicitement vidé.

Description du problème

Le Le programme décrit dans la question lit les données d'un fichier CSV et les convertit en commandes SQL pour les insérer dans une table. Le programme semble fonctionner correctement jusqu'à ce qu'il arrête brusquement d'écrire dans le fichier de sortie à mi-chemin du processus de conversion.

Solution

Pour remédier à ce problème, il est crucial de fermer le OutputStream associé au BufferedWriter. Cette action force le vidage des données restantes, garantissant ainsi leur écriture dans le fichier de sortie. La ligne de code suivante doit être ajoutée avant la fin du programme :

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

En fermant OutputStream, les données mises en mémoire tampon sont immédiatement écrites dans le fichier, résolvant le problème de sortie tronquée.

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