StreamWriter.AutoFlush Propriedade
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.
Obtém ou define um valor que indica se o StreamWriter buffer será liberado para o fluxo subjacente após cada chamada para Write(Char).
public:
virtual property bool AutoFlush { bool get(); void set(bool value); };
public virtual bool AutoFlush { get; set; }
member this.AutoFlush : bool with get, set
Public Overridable Property AutoFlush As Boolean
Valor da propriedade
true para forçar StreamWriter a liberação de seu buffer; caso contrário, false.
Exemplos
O exemplo a seguir mostra a sintaxe para usar a AutoFlush propriedade.
// Gets or sets a value indicating whether the StreamWriter
// will flush its buffer to the underlying stream after every
// call to StreamWriter.Write.
sw.AutoFlush = true;
' Gets or sets a value indicating whether the StreamWriter
' will flush its buffer to the underlying stream after every
' call to StreamWriter.Write.
Sw.AutoFlush = True
Comentários
A liberação do fluxo não liberará seu codificador subjacente, a menos que você chame Flush explicitamente ou Close. A configuração AutoFlush significa true que os dados serão liberados do buffer para o fluxo após cada operação de gravação, 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.
Quando AutoFlush estiver definido como false, StreamWriter fará uma quantidade limitada de buffer, tanto internamente quanto potencialmente no codificador da codificação que você passou. Você pode obter melhor desempenho definindo AutoFlush como false, supondo que você sempre chame Close (ou pelo menos Flush) quando terminar de escrever com um StreamWriter.
Por exemplo, defina AutoFlush quando true você estiver gravando em um dispositivo em que o usuário espera comentários imediatos.
Console.Out é um destes casos: o StreamWriter usado internamente para gravação libera Console todo o seu estado interno, exceto o estado do codificador após cada chamada para StreamWriter.Write.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.