C#: 將輸出重定向


默認情況下,C# console Application 的標准輸出就是那個控制台窗口,有時候可以重定到文件,以下是實現代碼:

using System.IO;

using System.Text;

using System;

 

var defaultEncoding = Encoding.Default;

Console.WriteLine("開始時間:{0}",DateTime.Now.ToString());

//重定向輸出到一個文件中

var stream = new FileStream("C:/log.txt",FileMode.Create);

Console.SetOut(new StreamWriter(stream));

Console.WriteLine("開始時間:{0}",DateTime.Now.ToString());

Console.WriteLine("結束時間:{0}",DateTime.Now.ToString());

//結束重定向

Console.Out.Close();

//將輸出定向到控制台窗口

Console.SetOut(new StreamWriter(Console.OpenStandardOutput,defaultEncoding);

Console.WriteLine("結束時間:{0}",DateTime.Now.ToString());

Console.Out.Close();

 

Console.ReadKey();

需要注意的地方有兩點:

1.在重新將輸出定向到控制台窗口時,必須要指明Encoding的方式,這樣才會用默認的DBCSCodePageCoding(我的電腦是簡體中文系統)來處理中文,否則,”結束時間“這幾個中文字會出現亂碼

2.別忘了最后的Console.Out.Close(), 如果沒有這個,最后一行文字就不顯示到控制台窗口中(沒搞明白為什么。。。)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM