Console.SetOut and Console.SetIn
This page was last reviewed on Nov 19, 2023.
Dot Net Perls
Console.SetOut. A console program can write its output to a file. With the Console.SetOut method, we specify a StreamWriter as the output object.
Then, when the program executes, all the Console.Write calls will be printed to the file. We can also use Console.SetIn to adjust the input source.
SetOut example. With this program, we create a new StreamWriter in a using-statement. Then we use the SetOut method and pass the StreamWriter instance to it.
And After this point, all the Console.WriteLine calls are printed to the file C:\out.txt.
Important The Console.SetOut method receives an object of type TextWriter. A StreamWriter can be implicitly cast to the TextWriter type.
using System; using System.IO; class Program { static void Main() { using (StreamWriter writer = new StreamWriter("C:\\out.txt")) { Console.SetOut(writer); Act(); } } static void Act() { Console.WriteLine("This is Console.WriteLine"); Console.WriteLine("Thanks for playing!"); } }
This is Console.WriteLine Thanks for playing!
SetIn example. We can also use Console.SetIn to set the input source—we can use to automate calls such as a Console.ReadLine. Streams can be dynamically modified in the .NET Framework.
using System; using System.IO; class Program { static void Main() { using (StreamReader reader = new StreamReader("C:\\programs\\file.txt")) { Console.SetIn(reader); X(); } } static void X() { string line = Console.ReadLine(); Console.WriteLine("READLINE RETURNED: " + line); } }
Summary. We used the Console.SetOut method for changing the target of the output of a console program. We also used SetIn to change the input source.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Nov 19, 2023 (edit).
© 2007-2024 Sam Allen.