Stream.Close 메서드

정의

현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. 이 메서드를 호출하는 대신 스트림이 올바르게 삭제되었는지 확인합니다.Instead of calling this method, ensure that the stream is properly disposed.

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

설명

이 메서드는 Dispose를 호출 하 여 모든 리소스를 해제 하도록 true를 지정 합니다.This method calls Dispose, specifying true to release all resources. Close 메서드를 특별히 호출할 필요는 없습니다.You do not have to specifically call the Close method. 대신 모든 Stream 개체가 제대로 삭제 되었는지 확인 합니다.Instead, ensure that every Stream object is properly disposed. using 블록 (또는 Visual Basic의 Using 블록) 내에서 Stream 개체를 선언 하 여 스트림과 해당 리소스가 모두 삭제 되도록 하거나 명시적으로 Dispose 메서드를 호출할 수 있습니다.You can declare Stream objects within a using block (or Using block in Visual Basic) to ensure that the stream and all of its resources are disposed, or you can explicitly call the Dispose method.

Flush 또는 Close의 구현을 명시적으로 호출 하지 않으면 스트림을 플러시하는 동안 기본 인코더가 플러시되지 않습니다.Flushing the stream will not flush its underlying encoder unless you explicitly call an implementation of Flush or Close. AutoFlushtrue로 설정 하면 데이터가 버퍼에서 스트림으로 플러시되고 인코더 상태가 플러시되지 않습니다.Setting AutoFlush to true means that data will be flushed from the buffer to the stream, but the encoder state will not be flushed. 이 수는 다음 문자 블록을 올바르게 인코딩할 수 있도록 상태로 (부분 자)를 유지 합니다.This allows the encoder to keep its state (partial characters) so that it can encode the next block of characters correctly. 이 시나리오는 UTF8 및 UTF7 여기서 인코더는 인접 한 문자를 받은 후에 특정 문자를 인코딩할 수 있는 영향을 줍니다.This scenario affects UTF8 and UTF7 where certain characters can be encoded only after the encoder receives the adjacent character or characters.

스트림이 닫힌 후 스트림을 조작 하려고 하면 ObjectDisposedExceptionthrow 될 수 있습니다.Attempts to manipulate the stream after the stream has been closed might throw an ObjectDisposedException.

상속자 참고

파생 클래스에서 Close() 메서드를 재정의 하지 말고 Dispose(Boolean) 메서드에 모든 Stream 정리 논리를 추가 합니다.In derived classes, do not override the Close() method, instead, put all of the Stream cleanup logic in the Dispose(Boolean) method. 자세한 내용은 Dispose 메서드 구현을 참조 하세요.For more information, see Implementing a Dispose Method.

적용 대상

추가 정보