StreamWriter.AutoFlush プロパティ
StreamWriter.Write が呼び出されるたびに、 StreamWriter によって基になるストリームに対するバッファをフラッシュするかどうかを示す値を取得または設定します。
Public Overridable Property AutoFlush As Boolean
[C#]
public virtual bool AutoFlush {get; set;}
[C++]
public: __property virtual bool get_AutoFlush();public: __property virtual void set_AutoFlush(bool);
[JScript]
public function get AutoFlush() : Boolean;public function set AutoFlush(Boolean);
プロパティ値
StreamWriter に強制的にバッファをフラッシュさせる場合は true 。それ以外の場合は false 。
解説
ストリームをフラッシュしても、 Flush または Close を明示的に呼び出さない限り、そのストリームの基になるエンコーダはフラッシュされません。 AutoFlush を true に設定すると、データがバッファからストリームにフラッシュされますが、エンコーダの状態はフラッシュされません。これにより、エンコーダの状態 (一部の文字) を維持できるため、次のブロックの文字を正確にエンコードできるようになります。この動作は、一部の文字をエンコードするためにはエンコーダがあらかじめその文字に隣接する文字を受け取っておく必要がある UTF8 および UTF7 に対して有効です。
AutoFlush が false に設定されている場合、 StreamWriter は最低限のバッファリングだけを行います。バッファリングは、指定されたエンコーディングに基づいてエンコーダで内部的に暗黙的に実行されます。 StreamWriter による書き込みの終了時に常に Close (または、少なくとも Flush) を呼び出すことを前提にして、 AutoFlush を false に設定すると、パフォーマンスが向上することがあります。
たとえば、ユーザーがすぐにフィードバックを必要とする場合にデバイスに書き込むときは、 AutoFlush を true に設定します。 Console.Out がその例です。 Console への書き込みのために内部で使用される StreamWriter は、 StreamWriter.Write が呼び出されるたびにエンコーダの状態以外のすべての内部状態をフラッシュします。
このプロパティの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
実行するタスク | 参考例があるトピック |
---|---|
テキスト ファイルを作成する。 | ファイルへのテキストの書き込み |
テキスト ファイルに書き込む。 | ファイルへのテキストの書き込み |
テキスト ファイルから読み取る。 | ファイルからのテキストの読み取り |
使用例
[Visual Basic, C#, C++] 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
[C#]
// 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;
[C++]
// 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;
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
StreamWriter クラス | StreamWriter メンバ | System.IO 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み