Stream.Close 메서드

정의

현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다. 이 메서드를 호출하는 대신 스트림이 올바르게 삭제되었는지 확인합니다.

public:
 virtual void Close();
public virtual void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Overridable Sub Close ()

설명

이 메서드는 모든 리소스를 해제하도록 지정하여 true 호출Dispose합니다. 메서드를 구체적으로 호출 Close 할 필요는 없습니다. 대신 모든 Stream 개체가 제대로 삭제되었는지 확인합니다. 블록(또는 Using Visual Basic의 블록) 내에서 개체를 using 선언 Stream 하여 스트림 및 모든 해당 리소스가 삭제되도록 하거나 메서드를 Dispose 명시적으로 호출할 수 있습니다.

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

스트림이 닫힌 후 스트림을 조작하려는 시도가 발생할 ObjectDisposedException수 있습니다.

상속자 참고

파생 클래스에서 메서드를 재정 Close() 의하지 말고 모든 정리 논리를 Stream 메서드에 Dispose(Boolean) 넣습니다. 자세한 내용은 Dispose 메서드 구현을 참조하세요.

적용 대상

추가 정보