StreamWriter.AutoFlush 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定一個值,表示每次 StreamWriter 呼叫 Write(Char)後是否會將緩衝區清除至底層串流。
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
屬性值
true強制StreamWriter沖洗其緩衝區;否則,。 false
範例
以下範例展示了使用該 AutoFlush 屬性的語法。
// 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
備註
除非你明確呼叫 Flush 或 Close,否則 flush 串流不會沖走其底層編碼器。 設定 AutoFlush 為 true 表示每次寫入操作後,資料會從緩衝區沖洗到串流,但編碼器狀態不會被清除。 這讓編碼器能保留其狀態(部分字元),以便正確編碼下一個字元區塊。 此情境影響 UTF8 與 UTF7,因為某些字元只能在編碼器接收相鄰字元後再編碼。
當 AutoFlush 設定為 false時, StreamWriter 會進行有限的緩衝,無論是內部緩衝還是編碼器內部,都是你傳入的編碼。 你可以透過設定AutoFlush為 來提升效能,前提是你每次falseClose寫完 FlushStreamWriter。
例如,設定 AutoFlush 在 true 你寫入裝置時,使用者期待立即獲得回饋。
Console.Out 是其中一種情況: StreamWriter 內部用於寫入,每次 Console 呼叫 後 StreamWriter.Write會清除除編碼器狀態外的所有內部狀態。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。