BufferedStream.Flush Méthode

Définition

Efface toutes les mémoires tampons de ce flux et entraîne l’écriture de toutes les données mises en mémoire tampon sur l’appareil sous-jacent.

public:
 override void Flush();
public override void Flush();
override this.Flush : unit -> unit
Public Overrides Sub Flush ()

Exceptions

Le flux a été supprimé.

La source de données ou le référentiel n’est pas ouvert.

Exemples

Cet exemple de code fait partie d’un exemple plus grand fourni pour la BufferedStream classe.

// Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.");
startTime = DateTime.Now;
for(int i = 0; i < numberOfLoops; i++)
{
    bufStream.Write(dataToSend, 0, dataToSend.Length);
}
bufStream.Flush();
bufferedTime = (DateTime.Now - startTime).TotalSeconds;
Console.WriteLine("{0} bytes sent in {1} seconds.\n",
    numberOfLoops * dataToSend.Length,
    bufferedTime.ToString("F1"));
// Send the data using the BufferedStream.
printfn "Sending data using BufferedStream."
let startTime = DateTime.Now
for _ = 0 to numberOfLoops - 1 do
    bufStream.Write(dataToSend, 0, dataToSend.Length)
bufStream.Flush()
let bufferedTime = (DateTime.Now - startTime).TotalSeconds
printfn $"{numberOfLoops * dataToSend.Length} bytes sent in {bufferedTime:F1} seconds.\n"
' Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.")
startTime = DateTime.Now
For i As Integer = 1 To numberOfLoops
    bufStream.Write(dataToSend, 0, dataToSend.Length)
Next i

bufStream.Flush()
bufferedTime = DateTime.Now.Subtract(startTime).TotalSeconds
Console.WriteLine("{0} bytes sent In {1} seconds." & vbCrLf, _
    numberOfLoops * dataToSend.Length, _
    bufferedTime.ToString("F1"))

Remarques

Le vidage du flux ne vide pas son encodeur sous-jacent, sauf si vous appelez Flush explicitement ou Close.

Si vous utilisez le BufferedStream constructeur, en spécifiant ainsi la taille de la mémoire tampon lors de la création de l’objet BufferedStream , le contenu est vidé lorsqu’il atteint la taille de la mémoire tampon. Par exemple, le code tel que BufferedStream bs = new BufferedStream(bs, 5) vide le contenu lorsque la taille de la mémoire tampon atteint 5 octets.

Toutes les méthodes de lecture et d’écriture de la mise à jour automatique de BufferedStream la mémoire tampon, il n’est donc pas nécessaire d’appeler Flush lors du basculement entre la lecture et l’écriture.

S’applique à

Voir aussi