BufferedStream.Close Método

Definição

Fecha o fluxo e libera todos os recursos (especialmente recursos do sistema, como soquetes e identificadores de arquivo) 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

Erro ao tentar fechar o fluxo.

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 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 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. A configuração 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