【问题标题】:Writing console lines to file将控制台行写入文件
【发布时间】:2011-12-20 01:03:26
【问题描述】:

我在 c# 中有一个控制台应用程序,并且正在尝试制作它,以便将控制台中的所有行都写入一个文件。我尝试过使用流式写入器。

using (StreamWriter writer = new StreamWriter(@"location", true))
{
    writer.WriteLine(Console.ReadLine());
}

但是使用这些方法,输出文本文件仍然是空的。我错过了什么吗?

解决方案: 把这个写在你要开始录制文本的地方

        Console.Clear();
        StringWriter sw = null;
        sw = new StringWriter();
        Console.SetOut(sw);

写在最后

    string s = sw.GetStringBuilder().ToString();
        File.WriteAllText(@"file location", s);

如果我这样做,文本不会显示在控制台上,但在这种情况下无关紧要。

【问题讨论】:

  • 您是否至少尝试阅读过文档? msdn.microsoft.com/en-us/library/system.console.readline.aspx
  • 我拿了你的代码,它对我来说很好用。在控制台中输入文本并将其输出到文件中。 Console.ReadLine 会一直阻塞,直到您按下回车键,我想您明白了吗?
  • 也适合我。什么问题。你知道你需要输入文本然后按回车,这将通过 Console.ReadLine() 返回。另外关于您的带有 args 的代码,args 是在哪里定义的?

标签: c# console-application streamwriter console.writeline


【解决方案1】:
StringWriter sw = null;
        try
        {
            sw = new StringWriter();
            Console.SetOut(sw);
            Console.Write("test");
            string s = sw.GetStringBuilder().ToString();
            File.WriteAllText("c:\\BACKUP\\temp.txt", s);
        }finally
        {
            if(sw != null)
            {
                sw.Dispose();
            }
        }

【讨论】:

    【解决方案2】:

    我认为您需要学习如何使用Streams,以便之后使用控制台输出流。你可以在这里看到如何做到这一点:http://msdn.microsoft.com/en-us/library/system.console.out.aspx

    【讨论】:

      猜你喜欢
      • 2017-09-30
      • 2012-12-18
      • 1970-01-01
      • 2020-04-10
      • 1970-01-01
      • 1970-01-01
      • 2017-08-27
      相关资源
      最近更新 更多