【问题标题】:C# How to redirect stream to the console Out?C#如何将流重定向到控制台输出?
【发布时间】:2011-03-08 20:04:08
【问题描述】:

我发现了很多如何将控制台输出重定向到文件的示例。但是我需要一个相反的解决方案 - 我有 StreamWriter,一旦我这样做,我想在控制台输出中显示它sw.WriteLine("text");

【问题讨论】:

  • 我有点困惑。如果不是Console.Out,流的初始化是什么?它是否同时写入文件 到控制台?

标签: c# .net console-application


【解决方案1】:

只需将流指向标准输出:

sw = new StreamWriter(Console.OpenStandardOutput());
sw.AutoFlush = true;
Console.SetOut(sw);

【讨论】:

    【解决方案2】:

    不是说之前的答案不正确,而是因为我没有足够的声誉等级来添加评论,所以添加另一个答案:

    如果您曾经使用 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);
    

    【讨论】:

    • 我认为您误解了您提供的链接中的示例代码。不会对您投反对票。感谢您的努力:)
    猜你喜欢
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 2016-10-21
    • 2021-12-12
    相关资源
    最近更新 更多