StreamWriter.Close メソッド

定義

現在の StreamWriter オブジェクトと基になるストリームを閉じます。Closes the current StreamWriter object and the underlying stream.

public:
 override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()

例外

現在のエンコードは、Unicode サロゲート ペアの片方の表示をサポートしていません。The current encoding does not support displaying half of a Unicode surrogate pair.

次のコード例は、Close メソッドを示しています。The following code example demonstrates the Close method.

// close the file by closing the writer
sw->Close();
// close the file by closing the writer
sw.Close();
' Close the file by closing the writer.
Sw.Close()

注釈

このメソッドは、Stream.Close をオーバーライドします。This method overrides Stream.Close.

この Close の実装では、true 値を渡す Dispose メソッドを呼び出します。This implementation of Close calls the Dispose method passing a true value.

すべてのデータが基になるストリームに正しく書き込まれるようにするには、Close を呼び出す必要があります。You must call Close to ensure that all data is correctly written out to the underlying stream. Closeの呼び出しに続くと、StreamWriter での操作によって例外が発生する可能性があります。Following a call to Close, any operations on the StreamWriter might raise exceptions. ディスクに十分な空き領域がない場合は、Close を呼び出すと例外が発生します。If there is insufficient space on the disk, calling Close will raise an exception.

明示的に 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, 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.

適用対象

こちらもご覧ください