BufferedStream.Flush Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.