Stream.Close 메서드

정의

현재 스트림을 닫고 현재 스트림과 연결된 모든 리소스(예: 소켓 및 파일 핸들)를 해제합니다. 이 메서드를 호출하는 대신 스트림이 제대로 삭제되었는지 확인합니다.

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

설명

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

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

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

상속자 참고

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

적용 대상

추가 정보