如何将 Console.WriteLine 复制到文本文件?
static void ConsoleWrite(String value, ConsoleColor color)
{
Console.ForegroundColor = color;
FileStream ostrm;
StreamWriter writer;
TextWriter oldOut = Console.Out;
try
{
ostrm = new FileStream("./logfile.txt", FileMode.OpenOrCreate, FileAccess.Write);
writer = new StreamWriter(ostrm);
}
catch (Exception e)
{
Console.WriteLine("Cannot open logfile.txt for writing");
Console.WriteLine(e.Message);
return;
}
Console.SetOut(writer);
Console.SetError(writer);
Console.WriteLine(value.PadRight(Console.WindowWidth - 1));
Console.SetError(oldOut);
Console.SetOut(oldOut);
Console.WriteLine(value.PadRight(Console.WindowWidth - 1));
writer.Close();
ostrm.Close();
}
此代码仅写入最后一行。
(我需要在控制台中显示文本,同时将文本保存到文件中。)
ConsoleWrite("test1",ConsoleColor.Red);
ConsoleWrite("test2",ConsoleColor.Red);
ConsoleWrite("test3",ConsoleColor.Red);
在文件中只保存了一行:“ test3 ” :(