StreamWriter.AutoFlush プロパティ

定義

StreamWriter が呼び出されるたびに、Write(Char) によって基になるストリームに対するバッファーをフラッシュするかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the StreamWriter will flush its buffer to the underlying stream after every call to 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。それ以外の場合は falsetrue to force StreamWriter to flush its buffer; otherwise, false.

次の例は、AutoFlush プロパティを使用するための構文を示しています。The following example shows the syntax for using the AutoFlush property.

// 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

注釈

明示的に Flush または Closeを呼び出さない限り、ストリームをフラッシュしても、基になるエンコーダーはフラッシュされません。Flushing the stream will not flush its underlying encoder unless you explicitly call Flush or Close. AutoFlushtrue に設定すると、書き込み操作の後、バッファーからストリームにデータがフラッシュされますが、エンコーダーの状態はフラッシュされません。Setting AutoFlush to true means that data will be flushed from the buffer to the stream after each write operation, but the encoder state will not be flushed. これにより、エンコーダーは次の文字ブロックを正しくエンコードできるように、その状態 (部分文字) を保持できます。This allows the encoder to keep its state (partial characters) so that it can encode the next block of characters correctly. このシナリオは、エンコーダーが隣接する文字を受け取ると、特定の文字のみをエンコードできる UTF8 と UTF7 に影響します。This scenario affects UTF8 and UTF7 where certain characters can only be encoded after the encoder receives the adjacent character or characters.

AutoFlushfalseに設定されている場合、StreamWriter は、内部的に、およびエンコーダー内で渡されたエンコーディングからのバッファーの量を制限します。When AutoFlush is set to false, StreamWriter will do a limited amount of buffering, both internally and potentially in the encoder from the encoding you passed in. StreamWriterでの書き込みが完了したときに常に Close (または少なくとも Flush) を呼び出すことを前提として、AutoFlushfalseに設定することにより、パフォーマンスを向上させることができます。You can get better performance by setting AutoFlush to false, assuming that you always call Close (or at least Flush) when you're done writing with a StreamWriter.

たとえば、ユーザーがすぐにフィードバックを受け取るデバイスに書き込むときに、AutoFlushtrue に設定します。For example, set AutoFlush to true when you are writing to a device where the user expects immediate feedback. Console.Out は、StreamWriter.Writeへのすべての呼び出しの後に、エンコーダーの状態を除くすべての内部状態をフラッシュ Console に書き込むために内部的に使用される StreamWriter です。Console.Out is one of these cases: The StreamWriter used internally for writing to Console flushes all its internal state except the encoder state after every call to StreamWriter.Write.

共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。For a list of common I/O tasks, see Common I/O Tasks.

適用対象

こちらもご覧ください