BufferedStream.Close Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.