2016-08-09 4 views
-1

Console.WriteLine()出力を取り、文字列に追加する必要があります。私はコンソールに書くのではなく、単に文字列に追加するMainメソッドを変更することはできません。コンソールからすべての記述された行を読み込んで文字列に追加するメソッドが必要です。Console.WriteLine()を文字列に出力

現在、私はFileStreamを使用し、コンソール出力をテキストファイルにリダイレクトしてから読み込みました。

var fs = new FileStream("dataOut.txt", FileMode.Create); 
var sw = new StreamWriter(fs); 
Console.SetOut(sw); 
Console.SetError(sw); 

そして、Console.WriteLine("whatever")がテキストファイルに書き込みます。しかし、私はテキストファイルから前後に移動することなく、これをしたいと思います。

これは可能でしょうか?私は、以下の例はそうではないことを認識しています。

string outString = ""; 
Console.SetOut(outString); 
Console.SetError(outString); 
+1

*「私は単に代わりに、コンソールへの書き込み文字列に追加する主な方法を変更することはできません」*なぜいけないのでしょうか? –

+0

なぜ 'StringBuilderオブジェクト 'に情報を格納していないのですか?完了したら、テキストファイルに情報を書き込む – MethodMan

+0

@EdPlunkettコードを書いていないので、それを変更する権限がありません。 – lrey

答えて

1

StringWriterを使用します。

var sw = new StringWriter(); 
Console.SetOut(sw); 
Console.SetError(sw); 
string result = sw.ToString();