【发布时间】:2011-03-08 20:04:08
【问题描述】:
我发现了很多如何将控制台输出重定向到文件的示例。但是我需要一个相反的解决方案 - 我有 StreamWriter,一旦我这样做,我想在控制台输出中显示它sw.WriteLine("text");
【问题讨论】:
-
我有点困惑。如果不是
Console.Out,流的初始化是什么?它是否同时写入文件 和 到控制台?
标签: c# .net console-application
我发现了很多如何将控制台输出重定向到文件的示例。但是我需要一个相反的解决方案 - 我有 StreamWriter,一旦我这样做,我想在控制台输出中显示它sw.WriteLine("text");
【问题讨论】:
Console.Out,流的初始化是什么?它是否同时写入文件 和 到控制台?
标签: c# .net console-application
只需将流指向标准输出:
sw = new StreamWriter(Console.OpenStandardOutput());
sw.AutoFlush = true;
Console.SetOut(sw);
【讨论】:
不是说之前的答案不正确,而是因为我没有足够的声誉等级来添加评论,所以添加另一个答案:
如果您曾经使用 John 建议的 using 语句将 Stream 指向标准输出,您不应该忘记稍后重新打开控制台 Stream,如 https://docs.microsoft.com/en-us/dotnet/api/system.console.setout?view=netframework-4.7.2 中所述
using (sw = new StreamWriter(Console.OpenStandardOutput())
{
sw.AutoFlush = true;
Console.SetOut(sw);
...
}
StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput());
standardOutput.AutoFlush = true;
Console.SetOut(standardOutput);
【讨论】: