1

无论如何,使用 c# 是否可以将控制台输出复制到第二个位置(以及原始控制台)。我知道我可以调用 SetOut 来覆盖控制台的默认输出位置,但我想做的是继续写入原始控制台实现,但也写入第二个位置。有任何想法吗?

4

1 回答 1

0

您可以尝试使用此代码

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");
于 2012-07-24T09:35:49.570 回答