默认状况下,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(), 若是没有这个,最后一行文字就不显示到控制台窗口中(没搞明白为何。。。)