Экспорт (0) Печать
Развернуть все
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

Console.SetIn - метод

Присваивает свойству In заданный объект TextReader.

Пространство имен:  System
Сборка:  mscorlib (в mscorlib.dll)

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

Параметры

newIn
Тип: System.IO.TextReader
Поток, являющийся новым стандартным входным потоком.

ИсключениеУсловие
ArgumentNullException

Параметр newIn имеет значение null.

SecurityException

У вызывающего объекта отсутствует необходимое разрешение.

По умолчанию свойству In присвоен стандартный входной поток.

Объект StreamReader, инкапсулирующий FileStream, может использоваться для получения входных данных из файла.

ПримечаниеПримечание

Примененный к данному типу или члену атрибут HostProtectionAttribute имеет следующее значение свойства Resources: UI. Атрибут HostProtectionAttribute не оказывает влияния на настольные приложения (обычно запускаемые двойным щелчком значка, вводом команды или URL-адреса в браузере). Дополнительные сведения см. в описании класса HostProtectionAttribute или в разделе программирование SQL Server и атрибуты защиты основного приложения.

В следующем примере показано использование метода SetIn. Он заменяет 4 последовательных пробела в строке символом табуляции. Для запуска необходимо указать 2 аргументов командной строки. Первый аргумент — это имя существующего текстового файла, в который требуется перенаправить стандартный входной поток. Второй аргумент — это имя файла, в который требуется перенаправить стандартный выходной поток. Не требуется, чтобы этот файл существовал. Если да, его содержимое будут перезаписано.


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

Поддерживается в версиях: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework (клиентский профиль)

Поддерживается в версиях: 4, 3.5 с пакетом обновления 1 (SP1)

Приложения .NET для Windows Phone

Поддерживается в версиях: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows Server 2008 (роль основных серверных компонентов не поддерживается), Windows Server 2008 R2 (роль основных серверных компонентов поддерживается в пакете обновления 1 (SP1) или выше; системы на базе Itanium не поддерживаются)

.NET Framework поддерживает не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft