Compartilhar via


BufferedStream.Close Método

Definição

Fecha o fluxo e libera todos os recursos (especialmente recursos de sistema, como soquetes e identificadores de arquivos) associados ao fluxo em buffer atual.

public:
 override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()

Exceções

Ocorreu um erro ao tentar fechar o fluxo.

Exemplos

Este exemplo de código faz parte de um exemplo maior fornecido para a BufferedStream classe .

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

Comentários

Todos os dados gravados anteriormente no buffer são copiados para a fonte de dados ou repositório subjacente antes que o fluxo armazenado em buffer seja fechado. Portanto, não é necessário chamar Flush() antes de invocar Close. Após uma chamada para Fechar, todas as operações no fluxo armazenado em buffer podem gerar exceções.

A liberação do fluxo não liberará seu codificador subjacente, a menos que você chame Flush() ou feche explicitamente. Definir AutoFlush como true significa que os dados serão liberados do buffer para o fluxo, mas o estado do codificador não será liberado. Isso permite que o codificador mantenha seu estado (caracteres parciais) para que ele possa codificar o próximo bloco de caracteres corretamente. Esse cenário afeta UTF8 e UTF7, em que determinados caracteres só podem ser codificados depois que o codificador recebe o caractere ou caracteres adjacentes.

Tentar manipular um fluxo depois que ele tiver sido fechado pode gerar um ObjectDisposedException.

Aplica-se a

Confira também