BufferedStream.Flush Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Rensar alla buffertar för den här strömmen och gör att buffrade data skrivs till den underliggande enheten.
public:
override void Flush();
public override void Flush();
override this.Flush : unit -> unit
Public Overrides Sub Flush ()
Undantag
Strömmen har tagits bort.
Datakällan eller lagringsplatsen är inte öppen.
Exempel
Det här kodexemplet är en del av ett större exempel för BufferedStream klassen.
// 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"))
Kommentarer
Om dataströmmen töms töms inte dess underliggande kodare om du inte uttryckligen anropar Flush eller Close.
Om du använder BufferedStream konstruktorn och därmed anger buffertstorleken BufferedStream när du skapar objektet rensas innehållet när det når buffertstorleken. Kod som BufferedStream bs = new BufferedStream(bs, 5) rensar till exempel innehållet när buffertstorleken når 5 byte.
Alla läs- och skrivmetoder BufferedStream för att automatiskt underhålla bufferten, så du behöver inte anropa Flush när du växlar fram och tillbaka mellan läsning och skrivning.