2

私は 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);

これを行うとコンソールにテキストが表示されませんが、この場合は問題ありません。

4

2 に答える 2

3
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();
            }
        }
于 2011-12-20T01:38:40.353 に答える
0

を使用する方法を学ぶ必要があると思いますStreams。後で、コンソール出力ストリームを操作します。ここでその方法を確認できます: http://msdn.microsoft.com/en-us/library/system.console.out.aspx

于 2011-12-20T01:39:53.147 に答える