159 votes

Quel est l'objectif de la fonction flush() dans les flux Java ?

En Java, flush() est utilisée dans les flux. Mais je ne comprends pas à quoi sert cette méthode.

fin.flush();

Faites-moi part de vos suggestions.

4voto

Silvio Donnini Points 1526

Les flux sont souvent accédés par des threads qui vident périodiquement leur contenu et, par exemple, l'affichent à l'écran, l'envoient à une socket ou l'écrivent dans un fichier. Cette opération est réalisée pour des raisons de performance. La vidange d'un flux de sortie signifie que vous souhaitez vous arrêter, attendre que le contenu du flux soit entièrement transféré vers sa destination, puis reprendre l'exécution avec le flux vide et le contenu envoyé.

3voto

vijaya kumar Points 377

Pour des raisons de performance, les premières données doivent être écrites dans la mémoire tampon. Lorsque la mémoire tampon est pleine, les données sont écrites en sortie (fichier, console, etc.). Lorsque le tampon est partiellement rempli et que vous souhaitez l'envoyer vers la sortie (fichier, console), vous devez appeler manuellement la méthode flush() afin d'écrire le tampon partiellement rempli vers la sortie (fichier, console).

0voto

Aftershock Points 1602

La chasse d'eau ne semble pas être une solution miracle. J'avais le OutputStream d'un processus et le flush n'a pas tout nettoyé. J'ai dû fermer le flux pour le vider complètement. Si le thread qui a écrit le flux s'est arrêté plus tôt sans fermer, les derniers octets n'ont pas été écrits.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X