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 liberará o buffer para o fluxo subjacente após toda a 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 o StreamWriter a liberar o 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;
' 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. Definir AutoFlush como true
significa 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
é definido false
como , StreamWriter
fará uma quantidade limitada de buffer, tanto internamente quanto potencialmente no codificador da codificação passada. Você pode obter melhor desempenho definindo AutoFlush
false
como , supondo que você sempre chame Close
(ou pelo menos Flush
) quando terminar de escrever com um StreamWriter
.
Por exemplo, defina AutoFlush
como true
quando 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 para Console
libera 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.