Console.OpenStandardOutput Method
.NET Framework 1.1
Acquires the standard output stream.
Overload List
Acquires the standard output stream.
[Visual Basic] Overloads Public Shared Function OpenStandardOutput() As Stream
[C#] public static Stream OpenStandardOutput();
[C++] public: static Stream* OpenStandardOutput();
[JScript] public static function OpenStandardOutput() : Stream;
Acquires the standard output stream, set to a specified buffer size.
[Visual Basic] Overloads Public Shared Function OpenStandardOutput(Integer) As Stream
[C#] public static Stream OpenStandardOutput(int);
[C++] public: static Stream* OpenStandardOutput(int);
[JScript] public static function OpenStandardOutput(int) : Stream;
Example
The following code sample illustrates the use of OpenStandardOutput:
[Visual Basic] Public Class InsertTabs Private Const tabSize As Integer = 4 Private Const usageText As String = "Usage: INSERTTABS inputfile.txt outputfile.txt" 'Entry point which delegates to C-style main Private Function Public Overloads Shared Sub Main() System.Environment.ExitCode = Main(System.Environment.GetCommandLineArgs()) End Sub Overloads Public Shared Function Main(args() As String) As Integer Dim writer As StreamWriter = Nothing If args.Length < 3 Then Console.WriteLine(usageText) Return 1 End If Try writer = New StreamWriter(args(2)) Console.SetOut(writer) Console.SetIn(New StreamReader(args(1))) Catch e As IOException Dim errorWriter As TextWriter = Console.Error errorWriter.WriteLine(e.Message) errorWriter.WriteLine(usageText) Return 1 End Try Dim line As String line = Console.ReadLine() While Not line Is Nothing Dim newLine As String = line.Replace("".PadRight(tabSize, " "c), ControlChars.Tab) Console.WriteLine(newLine) line = Console.ReadLine() End While writer.Close() ' Recover the standard output stream so that a ' completion message can be displayed. Dim standardOutput As New StreamWriter(Console.OpenStandardOutput()) standardOutput.AutoFlush = True Console.SetOut(standardOutput) Console.WriteLine("INSERTTABS has completed the processing of {0}.", args(0)) Return 0 End Function 'Main End Class 'InsertTabs [C#] public class InsertTabs { private const int tabSize = 4; private const string usageText = "Usage: INSERTTABS inputfile.txt outputfile.txt"; public static int Main(string[] args) { StreamWriter writer = null; if (args.Length < 2) { Console.WriteLine(usageText); return 1; } try { writer = new StreamWriter(args[1]); Console.SetOut(writer); Console.SetIn(new StreamReader(args[0])); } catch(IOException e) { TextWriter errorWriter = Console.Error; errorWriter.WriteLine(e.Message); errorWriter.WriteLine(usageText); return 1; } string line; while ((line = Console.ReadLine()) != null) { string newLine = line.Replace(("").PadRight(tabSize, ' '), "\t"); Console.WriteLine(newLine); } writer.Close(); // Recover the standard output stream so that a // completion message can be displayed. StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput()); standardOutput.AutoFlush = true; Console.SetOut(standardOutput); Console.WriteLine("INSERTTABS has completed the processing of {0}.", args[0]); return 0; } } [C++] int main() { String* args[] = Environment::GetCommandLineArgs(); const int tabSize = 4; String* usageText = S"Usage: INSERTTABS inputfile.txt outputfile.txt"; StreamWriter* writer = 0; if (args->Length < 3) { Console::WriteLine(usageText); return 1; } try { writer = new StreamWriter(args[2]); Console::SetOut(writer); Console::SetIn(new StreamReader(args[1])); } catch(IOException* e) { TextWriter* errorWriter = Console::Error; errorWriter->WriteLine(e->Message); errorWriter->WriteLine(usageText); return 1; } String* line; while ((line = Console::ReadLine()) != 0) { String* newLine = line->Replace((S"")->PadRight(tabSize, ' '), S"\t"); Console::WriteLine(newLine); } writer->Close(); // Recover the standard output stream so that a // completion message can be displayed. StreamWriter* standardOutput = new StreamWriter(Console::OpenStandardOutput()); standardOutput->AutoFlush = true; Console::SetOut(standardOutput); Console::WriteLine(S"INSERTTABS has completed the processing of {0}.", args[1]); return 0; } [JScript] const tabSize = 4; const usageText = "Usage: INSERTTABS inputfile.txt outputfile.txt"; var writer : StreamWriter = null; var args = Environment.GetCommandLineArgs(); if (args.Length != 3) { Console.WriteLine(usageText); Environment.Exit(1); } try { writer = new StreamWriter(args[2]); Console.SetOut(writer); Console.SetIn(new StreamReader(args[1])); } catch(e : IOException) { var errorWriter = Console.Error; errorWriter.WriteLine(e.Message); errorWriter.WriteLine(usageText); Environment.Exit(1); } var line; while ((line = Console.ReadLine()) != null) { var newLine = line.Replace(("").PadRight(tabSize, ' '), "\t"); Console.WriteLine(newLine); } writer.Close(); // Recover the standard output stream so that a // completion message can be displayed. var standardOutput = new StreamWriter(Console.OpenStandardOutput()); standardOutput.AutoFlush = true; Console.SetOut(standardOutput); Console.WriteLine("INSERTTABS has completed the processing of {0}.", args[0]);