【问题标题】:Write console output to file将控制台输出写入文件
【发布时间】:2012-12-18 02:21:33
【问题描述】:

对此真的很陌生,我已经阅读了这里的答案,到目前为止它们已经提供了帮助,但我仍然有点卡住。

我已经设法创建了一个程序来显示来自 DOB 输入的用户星号。

现在我想将结果发送到文本文件。我可以创建文件,但我不知道如何将程序的控制台输出/结果发送到文件。

【问题讨论】:

标签: c# console output


【解决方案1】:
Console.WriteLine("Hello World");
FileStream fs = new FileStream("Test.txt", FileMode.Create);
// First, save the standard output.
TextWriter tmp = Console.Out;
StreamWriter sw = new StreamWriter(fs);
Console.SetOut(sw);
Console.WriteLine("Hello file");
Console.SetOut(tmp);
Console.WriteLine("Hello World");
sw.Close();

http://msdn.microsoft.com/en-us/library/system.console.setout.aspx

【讨论】:

  • 技术上是正确的,但是每次写入操作都加倍会很快变得非常笨拙。一种更易于管理的方法是在最后构建一个大字符串用于输出,然后将其写出两次,或者编写一个将输出多路复用到多个流的类。
【解决方案2】:

如果您已经计算出出生日期并将其写入控制台,您的答案存储在一个变量中,那么您需要做的就是将其写入文本文件 - 除非我在问题中遗漏了一些?

http://msdn.microsoft.com/en-us/library/aa287548(v=vs.71).aspx

【讨论】:

  • +1:这可能是解决问题本身的正确方法,也不是立即回答 OP 的问题。