1
使用c#,是否有将控制台输出复制到第二个位置(以及原始控制台)的方法。我知道我可以调用SetOut来覆盖控制台的默认输出位置,但我想要做的是继续写入原始控制台实现,但也写入第二个位置。有任何想法吗?c#将控制台输出复制到第二个位置
使用c#,是否有将控制台输出复制到第二个位置(以及原始控制台)的方法。我知道我可以调用SetOut来覆盖控制台的默认输出位置,但我想要做的是继续写入原始控制台实现,但也写入第二个位置。有任何想法吗?c#将控制台输出复制到第二个位置
你可以用这个代码
FileStream ostrm;
StreamWriter writer;
TextWriter oldOut = Console.Out;
try
{
ostrm = new FileStream ("./Redirect.txt", FileMode.OpenOrCreate, FileAccess.Write);
writer = new StreamWriter (ostrm);
}
catch (Exception e)
{
Console.WriteLine ("Cannot open Redirect.txt for writing");
Console.WriteLine (e.Message);
return;
}
Console.SetOut (writer);
Console.WriteLine ("This is a line of text");
Console.SetOut (oldOut);
writer.Close();
ostrm.Close();
Console.WriteLine ("Done");
我建议你看看[log4net的(http://logging.apache.org/log4net/)试试。 – Polynomial 2012-07-24 09:28:42
看看这个答案在这里:http://stackoverflow.com/a/420502/82447 – klennepette 2012-07-24 09:29:53