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

プロパティ値

を強制的にバッファーにフラッシュする場合は a0/&。それ以外の場合は。

次の例は、 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を呼び出さない限り、ストリームをフラッシュしても、基になるエンコーダーはフラッシュされません。 AutoFlushtrue に設定すると、書き込み操作のたびにバッファーからストリームにデータがフラッシュされますが、エンコーダーの状態はフラッシュされません。 これにより、エンコーダーは状態 (部分的な文字) を保持して、次の文字ブロックを正しくエンコードできます。 このシナリオは UTF8 と UTF7 に影響を与え、エンコーダーが隣接する文字を受信した後でのみ特定の文字をエンコードできます。

AutoFlushfalseに設定されている場合、StreamWriterは、内部的および潜在的にエンコーダー内で、渡したエンコードのバッファー処理の量が制限されます。 AutoFlushfalse に設定すると、Closeを使用して書き込みが完了したときに常にFlush (または少なくともStreamWriter) を呼び出すと想定することで、パフォーマンスを向上させることができます。

たとえば、ユーザーがすぐにフィードバックを受け取るデバイスに書き込むときに、 AutoFlushtrue に設定します。 Console.Outは、StreamWriterの呼び出しのたびにエンコーダーの状態を除くすべての内部状態をフラッシュConsole書き込みに内部的に使用されるStreamWriter.Writeです。

一般的な I/O タスクの一覧については、「 一般的な I/O タスク」を参照してください。

適用対象

こちらもご覧ください