I need to take Console.WriteLine()
output, and append to a string. I cannot change the Main method to simply append to a string instead of writing to console - I need a method to read all written lines from the console and append them to a string.
Currently, I have been using a FileStream
and redirecting console output into a text file, and then reading from that.
var fs = new FileStream("dataOut.txt", FileMode.Create);
var sw = new StreamWriter(fs);
Console.SetOut(sw);
Console.SetError(sw);
And then Console.WriteLine("whatever")
writes to the text file. However, I would like to do this without going back and forth from a text file.
Is something like this possible? I realize that the example below does not.
string outString = "";
Console.SetOut(outString);
Console.SetError(outString);
Use a StringWriter
:
var sw = new StringWriter();
Console.SetOut(sw);
Console.SetError(sw);
Console.WriteLine("Hello world.");
string result = sw.ToString();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With