![](/img/trans.png)
[英]Console.SetOut to StreamWriter, write to textfile constantly
[英]Why wont console.SetOut(StreamWriter) write to my file?
創建一個控制台應用程序,我正在嘗試設置一個日志文件來跟蹤我的應用程序的活動。 這就是我設置FileStream和Writer的方法。
FileStream logstrm;
StreamWriter logwriter;
logstrm = new FileStream("file.txt", FileMode.OpenOrCreate, FileAccess.Write);
logwriter = new StreamWriter(logstrm);
在調用SetOut之前,以下內容正確地將文本輸出到控制台。
Console.WriteLine("LOG FILES CREATED");
但是,一旦我執行以下操作,我希望將文本寫入file.txt,但是當我打開它時文件中沒有任何內容。
Console.SetOut(logwriter);
Console.WriteLine("TEXT EXPECTED TO BE IN FILE.TXT");
任何想法或我只是這樣做完全錯了?
您只需關閉輸出文件即可
logwriter.Close();
使用Flush或Close文件
PS:另一個測試:您可以繼續寫入控制台,直到超過內部緩沖區大小,然后您將看到一些字符寫入文件
文件I / O是緩沖的,可能需要刷新才能實際寫入文件。
您可以通過調用StreamWriter.Flush顯式刷新到文件; 或者,您可以設置AutoFlush,以便在每次調用Write后刷新流。
文件在關閉時自動刷新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.