StreamWriter.AutoFlush 属性

定义

获取或设置一个值,该值指示 StreamWriter 在每次调用 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

属性值

强制 StreamWriter 刷新其缓冲区时,为 true;否则,为 false

示例

以下示例演示了使用 属性的 AutoFlush 语法。

// 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

注解

除非显式调用 FlushClose,否则刷新流不会刷新其基础编码器。 将 设置为 AutoFlushtrue 意味着数据将在每次写入操作后从缓冲区刷新到流,但不会刷新编码器状态。 这允许编码器将其状态保留 (部分字符) ,以便可以正确编码下一个字符块。 此方案会影响 UTF8 和 UTF7,其中某些字符只能在编码器收到相邻字符后进行编码。

当 设置为 falseAutoFlushStreamWriter将从传入的编码在编码器内部和可能执行有限量的缓冲。 可以通过将 设置为 AutoFlushfalse来获得更好的性能,前提是在使用 完成编写StreamWriter后始终调用 Close (或至少 Flush) 。

例如,在写入用户需要即时反馈的设备时,将 设置为 AutoFlushtrueConsole.Out是下列情况之一:在内部用于写入的 ConsoleStreamWriter在每次调用 StreamWriter.Write后刷新其所有内部状态(编码器状态除外)。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

适用于

另请参阅