Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# How to redirect stream to the console Out?

I found lots of samples how to redirect console output into a file. However I need an opposite solution - I have StreamWriter which I want to be shown in the Console output once I do sw.WriteLine("text");

like image 493
Boppity Bop Avatar asked Jun 27 '10 13:06

Boppity Bop


2 Answers

Not that previous answer not correct, but since i do not have enough reputation level to add comment, just adding another answer:

If you would ever use pointing Stream to standard output as John proposed with using statement you should not forget to re-open console Stream later on, as explained in https://docs.microsoft.com/en-us/dotnet/api/system.console.setout?view=netframework-4.7.2

using (sw = new StreamWriter(Console.OpenStandardOutput()) {     sw.AutoFlush = true;     Console.SetOut(sw);     ... } StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput()); standardOutput.AutoFlush = true; Console.SetOut(standardOutput); 
like image 21
Igal Ore Avatar answered Sep 28 '22 05:09

Igal Ore


Just point the stream to standard output:

sw = new StreamWriter(Console.OpenStandardOutput()); sw.AutoFlush = true; Console.SetOut(sw); 
like image 61
John Feminella Avatar answered Sep 28 '22 07:09

John Feminella