BufferedStream.Flush Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Cancella tutti i buffer per questo flusso e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante.
public:
override void Flush();
public override void Flush();
override this.Flush : unit -> unit
Public Overrides Sub Flush ()
Eccezioni
Il flusso è stato eliminato.
L'origine dati o il repository non è aperto.
Esempio
Questo esempio di codice fa parte di un esempio più ampio fornito per la BufferedStream classe .
// 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"))
Commenti
Lo scaricamento del flusso non scarica il codificatore sottostante a meno che non si chiami Flush in modo esplicito o Close.
Se si usa il BufferedStream costruttore, specificando così le dimensioni del buffer durante la creazione dell'oggetto BufferedStream , il contenuto viene scaricato quando raggiunge le dimensioni del buffer. Ad esempio, il codice, BufferedStream bs = new BufferedStream(bs, 5) ad esempio, scarica il contenuto quando le dimensioni del buffer raggiungono i 5 byte.
Tutti i metodi di lettura e scrittura di BufferedStream mantengono automaticamente il buffer, quindi non è necessario richiamare Flush quando si passa dalla lettura alla scrittura.