Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Console.SetIn (TextReader)

 

Publicado: octubre de 2016

Establece la propiedad In en el objeto TextReader especificado.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, UI = true)]
public static void SetIn(
	TextReader newIn
)

Parámetros

newIn
Type: System.IO.TextReader

Flujo que constituye la nueva entrada estándar.

Exception Condition
ArgumentNullException

El valor de newIn es null.

SecurityException

El llamador no dispone del permiso requerido.

De forma predeterminada, la In propiedad se establece en el flujo de entrada estándar.

A StreamReader que encapsula un FileStream puede utilizarse para recibir la entrada desde un archivo.

En el ejemplo siguiente se muestra el uso del método SetIn. Reemplaza cuatro caracteres de espacio consecutivos en una cadena con un carácter de tabulación. Para ejecutarlo, debe proporcionar dos argumentos de línea de comandos. El primero es el nombre de un archivo de texto existente al que se va a redirigir el flujo de entrada estándar. El segundo es el nombre de un archivo al que se va a redirigir el flujo de salida estándar. No es necesario que exista este archivo. Si existe, se sobrescribirá su contenido.

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;
    }
}

SecurityPermission

for calling unmanaged code. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: