BufferedStream.Flush Methode

Definitie

Wist alle buffers voor deze stroom en zorgt ervoor dat eventuele gebufferde gegevens naar het onderliggende apparaat worden geschreven.

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

Uitzonderingen

De stroom is verwijderd.

De gegevensbron of opslagplaats is niet geopend.

Voorbeelden

Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de BufferedStream klasse.

// 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"))

Opmerkingen

Als u de stream leeg maakt, wordt de onderliggende encoder niet leeggemaakt, tenzij u expliciet aanroept Flush of Close.

Als u de BufferedStream constructor gebruikt, waardoor de buffergrootte wordt opgegeven tijdens het maken van het BufferedStream object, wordt de inhoud leeggemaakt wanneer deze de buffergrootte bereikt. Code zoals BufferedStream bs = new BufferedStream(bs, 5) de inhoud wordt bijvoorbeeld leeggemaakt wanneer de buffergrootte 5 bytes bereikt.

Alle lees- en schrijfmethoden voor het automatisch onderhouden van BufferedStream de buffer, dus u hoeft niet aan te roepen Flush wanneer u heen en weer schakelt tussen lezen en schrijven.

Van toepassing op

Zie ook