BufferedStream.Flush Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Törli a stream összes pufferét, és a pufferelt adatokat a mögöttes eszközre írja.
public:
override void Flush();
public override void Flush();
override this.Flush : unit -> unit
Public Overrides Sub Flush ()
Kivételek
A stream el lett dobva.
Az adatforrás vagy az adattár nincs megnyitva.
Példák
Ez a példakód egy nagyobb, az BufferedStream osztályhoz tartozó példa része.
// 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"))
Megjegyzések
A stream kiürítése csak akkor üríti ki a mögöttes kódolót, ha kifejezetten meghívja Flush vagy Close.
Ha a konstruktort BufferedStream használja, és így megadja a pufferméretet az BufferedStream objektum létrehozásakor, a rendszer kiüríti a tartalmat, amikor eléri a pufferméretet. Például a kód, például BufferedStream bs = new BufferedStream(bs, 5) kiüríti a tartalmat, amikor a puffer mérete eléri az 5 bájtot.
Az összes olvasási és írási BufferedStream módszer automatikusan fenntartja a puffert, így nem kell meghívni Flush az olvasás és az írás közötti váltáskor.