BufferedStream.Close 메서드

정의

스트림을 닫고 현재 버퍼링된 스트림과 관련된 리소스(특히 소켓 및 파일 핸들과 같은 시스템 리스소)를 해제합니다.

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();

설명

버퍼에 이전에 기록된 모든 데이터는 버퍼링된 스트림을 닫기 전에 기본 데이터 원본 또는 리포지토리에 복사됩니다. 따라서 닫기를 호출하기 전에 를 호출 Flush() 할 필요가 없습니다. Close를 호출한 후 버퍼링된 스트림에 대한 모든 작업에서 예외가 발생할 수 있습니다.

명시적으로 호출 Flush() 하거나 닫지 않는 한 스트림을 플러시하면 기본 인코더를 플러시하지 않습니다. true로 설정 AutoFlush 하면 데이터가 버퍼에서 스트림으로 플러시되지만 인코더 상태는 플러시되지 않습니다. 이렇게 하면 인코더가 다음 문자 블록을 올바르게 인코딩할 수 있도록 해당 상태(부분 문자)를 유지할 수 있습니다. 이 시나리오는 인코더가 인접한 문자 또는 문자를 받은 후에만 특정 문자를 인코딩할 수 있는 UTF8 및 UTF7에 영향을 줍니다.

스트림이 닫힌 후 스트림을 조작하려고 하면 가 ObjectDisposedExceptionthrow될 수 있습니다.

적용 대상

추가 정보