如何將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」 :(
您在關閉它之前是否嘗試過沖洗作者? '作家.Flush()' – Dan
所有相同的只有最後一行被保存。 –