Stream.Close 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다. 이 메서드를 호출하는 대신 스트림이 올바르게 삭제되었는지 확인합니다.
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 개체가 제대로 삭제되었는지 확인합니다. 블록(또는 Using
Visual Basic의 블록) 내에서 개체를 using
선언 Stream 하여 스트림 및 모든 해당 리소스가 삭제되었는지 확인하거나 메서드를 Dispose 명시적으로 호출할 수 있습니다.
또는 Close
의 구현 Flush 을 명시적으로 호출하지 않는 한 스트림을 플러시해도 기본 인코더가 플러시되지 않습니다. 로 true
설정 AutoFlush 하면 데이터가 버퍼에서 스트림으로 플러시되지만 인코더 상태는 플러시되지 않습니다. 이렇게 하면 인코더가 다음 문자 블록을 올바르게 인코딩할 수 있도록 해당 상태(부분 문자)를 유지할 수 있습니다. 이 시나리오는 인코더가 인접한 문자 또는 문자를 받은 후에만 특정 문자를 인코딩할 수 있는 UTF8 및 UTF7에 영향을 줍니다.
스트림이 닫힌 후 스트림을 조작하려고 시도하면 가 throw될 ObjectDisposedException수 있습니다.
상속자 참고
파생 클래스에서 메서드를 재정 Close() 의하지 말고 메서드에 모든 정리 논리를 Stream
Dispose(Boolean) 배치합니다. 자세한 내용은 Dispose 메서드 구현을 참조하세요.
적용 대상
추가 정보
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기