如何在不刷新或关闭的情况下写入 StreamWriter

How to write to a StreamWriter without flush or close

我正在尝试将标准输出重定向到一个文件以进行日志记录。

Dim tmp As TextWriter = Console.Out  
Dim sw As StreamWriter = File.AppendText("log.txt"))
Console.SetOut(sw)
Console.Write("Test")

但在我调用 StreamWriter 上的 Flush() 或 Close() 之前,似乎什么都没有写入。由于流将长时间保持打开状态(直到应用程序关闭),我希望缓冲区直接写入文件,否则它可能会变得非常大。我该怎么做?

您可以将 StreamWriter.AutoFlush 属性 设置为 true:

AutoFlush to true means that data will be flushed from the buffer to the stream after each write operation, but the encoder state will not be flushed