BufferedStream.Flush Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vymaže všechny vyrovnávací paměti pro tento datový proud a způsobí zápis všech uložených dat do vyrovnávací paměti do podkladového zařízení.
public:
override void Flush();
public override void Flush();
override this.Flush : unit -> unit
Public Overrides Sub Flush ()
Výjimky
Stream byl odstraněn.
Zdroj dat nebo úložiště nejsou otevřené.
Příklady
Tento příklad kódu je součástí většího příkladu uvedeného pro třídu BufferedStream.
// 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"))
Poznámky
Vyprázdnění datového proudu nevyprázdní jeho podkladový kodér, pokud explicitně nezavoláte Flush nebo Close.
Pokud použijete BufferedStream konstruktor, čímž určíte velikost vyrovnávací paměti při vytváření objektu BufferedStream , obsah se vyprázdní, jakmile dosáhne velikosti vyrovnávací paměti. Například kód, například BufferedStream bs = new BufferedStream(bs, 5) vyprázdní obsah, když velikost vyrovnávací paměti dosáhne 5 bajtů.
Všechny metody čtení a zápisu BufferedStream automaticky udržují vyrovnávací paměť, takže při přepínání mezi čtením a zápisem není nutné volat Flush .