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

プロパティ値

StreamWriter に強制的にバッファーをフラッシュさせる場合は true。それ以外の場合は 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;
' 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

注釈

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

が にfalseStreamWriter設定されている場合AutoFlush、内部的にも、エンコーダー内でも、渡したエンコードから、限られた量のバッファリングが行われます。 を使用して書き込みがStreamWriter完了したときに常に を呼び出Closeす (または少なくとも Flush) と仮定すると、 を にfalse設定AutoFlushすると、パフォーマンスが向上します。

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

共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。

適用対象

こちらもご覧ください