Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
OpenStandardOutput Method

Console.OpenStandardOutput Method

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]);

See Also

Console Class | Console Members | System Namespace

Show:
© 2015 Microsoft