語言

StreamWriter.AutoFlush 屬性

定義

取得或設定一個值,表示每次 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 任務。

適用於

另請參閱