Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Console.OpenStandardOutput (Int32)

 

Data di pubblicazione: novembre 2016

Acquisisce il flusso di output standard, impostato su una determinata dimensione del buffer.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, UI = true)]
public static Stream OpenStandardOutput(
	int bufferSize
)

Parametri

bufferSize
Type: System.Int32

Dimensioni del buffer del flusso interno.

Valore restituito

Type: System.IO.Stream

Flusso di output standard.

Exception Condition
ArgumentOutOfRangeException

bufferSize è minore o uguale a zero.

Questo metodo può essere utilizzato per riacquisire il flusso di output standard dopo che è stato modificato dal SetOut metodo.

Nell'esempio riportato di seguito viene illustrato l'utilizzo del metodo OpenStandardOutput. Sostituisce quattro spazi consecutivi in una stringa con un carattere di tabulazione. Per eseguirlo, è necessario fornire due argomenti della riga di comando. Il primo è il nome di un file di testo esistente a cui reindirizzare il flusso di input standard. Il secondo è il nome di un file a cui reindirizzare il flusso di output standard. Questo file non deve esistere. Se il file esiste verrà sovrascritto.

using System;
using System.IO;

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 {
            // Attempt to open output file.
            writer = new StreamWriter(args[1]);
            // Redirect standard output from the console to the output file.
            Console.SetOut(writer);
            // Redirect standard input from the console to the input file.
            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;
    }
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: