默認情況下,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(), 如果沒有這個,最后一行文字就不顯示到控制台窗口中(沒搞明白為什么。。。)