默認狀況下,C# console Application 的標準輸出就是那個控制檯窗口,有時候能夠重定到文件,如下是實現代碼:it
using System.IO;io
using System.Text;console
using System;stream
var defaultEncoding = Encoding.Default;亂碼
Console.WriteLine("開始時間:{0}",DateTime.Now.ToString());coding
//重定向輸出到一個文件中im
var stream = new FileStream("C:/log.txt",FileMode.Create);重定向
Console.SetOut(new StreamWriter(stream));di
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(), 若是沒有這個,最後一行文字就不顯示到控制檯窗口中(沒搞明白爲何。。。)