如何在不刷新或关闭的情况下写入 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
我正在尝试将标准输出重定向到一个文件以进行日志记录。
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