C#: 將輸出重定向

默認狀況下,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(), 若是沒有這個,最後一行文字就不顯示到控制檯窗口中(沒搞明白爲何。。。)

相關文章
相關標籤/搜索