StreamWriter.AutoFlush Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob der StreamWriter nach jedem Aufruf von Write(Char) den Puffer in den zugrunde liegenden Stream wegschreibt, oder legt diesen Wert fest.
public:
virtual property bool AutoFlush { bool get(); void set(bool value); };
public virtual bool AutoFlush { get; set; }
member this.AutoFlush : bool with get, set
Public Overridable Property AutoFlush As Boolean
Eigenschaftswert
true
, um StreamWriter zum Entleeren des Puffers zu zwingen, andernfalls false
.
Beispiele
Das folgende Beispiel zeigt die Syntax für die Verwendung der AutoFlush
-Eigenschaft.
// Gets or sets a value indicating whether the StreamWriter
// will flush its buffer to the underlying stream after every
// call to StreamWriter.Write.
sw->AutoFlush = true;
// Gets or sets a value indicating whether the StreamWriter
// will flush its buffer to the underlying stream after every
// call to StreamWriter.Write.
sw.AutoFlush = true;
' Gets or sets a value indicating whether the StreamWriter
' will flush its buffer to the underlying stream after every
' call to StreamWriter.Write.
Sw.AutoFlush = True
Hinweise
Beim Leeren des Datenstroms wird der zugrunde liegende Encoder nicht geleert, es sei denn, Sie rufen explizit oder auf FlushClose. Die Einstellung AutoFlush auf true
bedeutet, dass Daten nach jedem Schreibvorgang aus dem Puffer in den Datenstrom geleert werden, der Encoderzustand jedoch nicht geleert wird. Dadurch kann der Encoder seinen Zustand (Teilzeichen) beibehalten, damit er den nächsten Zeichenblock ordnungsgemäß codieren kann. Dieses Szenario wirkt sich auf UTF8 und UTF7 aus, bei denen bestimmte Zeichen erst codiert werden können, nachdem der Encoder die angrenzenden Zeichen empfangen hat.
Wenn AutoFlush
auf false
festgelegt ist, StreamWriter
wird eine begrenzte Pufferung durchgeführt, sowohl intern als auch potenziell im Encoder aus der übergebenen Codierung. Sie können eine bessere Leistung erzielen, indem Sie auf festlegenAutoFlush
, vorausgesetzt, Sie rufen Close
immer (oder zumindest Flush
) auf, wenn Sie mit dem StreamWriter
Schreiben fertig false
sind.
Legen Sie beispielsweise auf true
festAutoFlush
, wenn Sie auf ein Gerät schreiben, auf dem der Benutzer sofortiges Feedback erwartet. Console.Out
ist einer der folgenden Fälle: Der StreamWriter
intern zum Schreiben verwendet wird, um Console
seinen gesamten internen Zustand außer dem Encoderzustand nach jedem Aufruf von zu StreamWriter.Writeleeren.
Eine Liste der allgemeinen E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.