簡體   English   中英

Console.SetOut到StreamWriter,不斷寫入文本文件

[英]Console.SetOut to StreamWriter, write to textfile constantly

我正在使用Console.SetOut方法將我的所有Console.Out.WriteLines寫入文件,這是有效的。 唯一的問題是,當我關閉應用程序時它只會將所有內容寫入文本文件,而不是每當Console.Out.WriteLine發生時都寫入。 關於如何實現這一點的任何想法?

我是怎么做的:在Application.Run()之前;

FileStream writerOutput = new FileStream("Logging_Admin.txt", FileMode.Append, FileAccess.Write);
StreamWriter writer = new StreamWriter(writerOutput);
Console.SetOut(writer);

在Application.Run()之后:

writer.Dispose();

謝謝。

StreamWriter具有AutoFlush屬性。 設置為true時,您應該得到所需的結果。

StreamWriter默認會緩沖其內容。 如果要刷新緩沖區,則必須調用Flush方法:

清除當前編寫器的所有緩沖區,並將所有緩沖的數據寫入基礎流。

如果您不想每次手動調用flush,您可能需要考慮實現自己的TextWriter派生對象來為您執行此操作。

要刷新緩沖區,可以執行writer.Close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM