BufferedStream.Close メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ストリームを閉じ、現在のバッファー済みストリームに関連付けられているすべてのリソース (特に、ソケットやファイル ハンドルなどのシステム リソース) を解放します。
public:
override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()
例外
ストリームを閉じようとしてエラーが発生しました。
例
このコード例は、BufferedStream クラスのために提供されている大規模な例の一部です。
' When bufStream is closed, netStream is in turn
' closed, which in turn shuts down the connection
' and closes clientSocket.
Console.WriteLine(vbCrLf & "Shutting down the connection.")
bufStream.Close()
// When bufStream is closed, netStream is in turn
// closed, which in turn shuts down the connection
// and closes clientSocket.
Console.WriteLine("\nShutting down the connection.");
bufStream.Close();
// When bufStream is closed, netStream is in turn closed,
// which in turn shuts down the connection and closes
// clientSocket.
Console::WriteLine( "\nShutting down connection." );
bufStream->Close();
注釈
バッファーに以前に書き込まれたデータは、バッファーストリームが閉じられる前に、基になるデータ ソースまたはリポジトリにコピーされます。 そのため、Close を呼び出す前に を呼び出 Flush() す必要はありません。 Close の呼び出しの後、バッファーストリームに対するすべての操作で例外が発生する可能性があります。
ストリームをフラッシュしても、明示的に または Close を呼び出 Flush() さない限り、基になるエンコーダーはフラッシュされません。 true に設定 AutoFlush すると、データはバッファーからストリームにフラッシュされますが、エンコーダーの状態はフラッシュされません。 これにより、エンコーダーは、次の文字ブロックを正しくエンコードできるように、その状態 (部分的な文字) を保持できます。 このシナリオは、エンコーダーが隣接する文字または文字を受信した後にのみ特定の文字をエンコードできる UTF8 と UTF7 に影響します。
閉じた後にストリームを操作しようとすると、 ObjectDisposedExceptionがスローされる可能性があります。
適用対象
こちらもご覧ください
.NET