StreamWriter.AutoFlush 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示 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
注解
除非显式调用 Flush 或 Close,否则刷新流不会刷新其基础编码器。 将 设置为 AutoFlushtrue
意味着数据将在每次写入操作后从缓冲区刷新到流,但不会刷新编码器状态。 这允许编码器将其状态保留 (部分字符) ,以便可以正确编码下一个字符块。 此方案会影响 UTF8 和 UTF7,其中某些字符只能在编码器收到相邻字符后进行编码。
当 设置为 false
时AutoFlush
,StreamWriter
将从传入的编码在编码器内部和可能执行有限量的缓冲。 可以通过将 设置为 AutoFlush
false
来获得更好的性能,前提是在使用 完成编写StreamWriter
后始终调用 Close
(或至少 Flush
) 。
例如,在写入用户需要即时反馈的设备时,将 设置为 AutoFlush
true
。 Console.Out
是下列情况之一:在内部用于写入的 Console
,StreamWriter
在每次调用 StreamWriter.Write后刷新其所有内部状态(编码器状态除外)。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。