В данном случае код немного упрощается благодаря свойствуEndOf Stream,хотя общий порядок выполнения операции ввода из файла не меняется. Иногда такое применение свойстваEndOf Streamпозволяет несколько упростить сложную ситуацию, внося ясность и улучшая структуру кода.
Иногда файл проще открыть, используя непосредственно классStreamReader,аналогично классуStreamWriter.Для этой цели служит следующий конструктор:
StreamReader(string
где
Переадресация стандартных потоков
Как упоминалось ранее, стандартные потоки, напримерConsole. In,могут быть переадресованы. И чаще всего они переадресовываются в файл. Когда стандартный поток переадресовывается, то вводимые или выводимые данные направляются в новый поток в обход устройств, используемых по умолчанию. Благодаря переадресации стандартных потоков в программе может быть организован ввод команд из дискового файла, создание файлов журнала регистрации и даже чтение входных данных из сетевого соединения.
Переадресация стандартных потоков достигается двумя способами. Прежде всего, это делается при выполнении программы из командной строки с помощью операторов < и >, переадресовывающих потокиConsole . InиConsole . Outсоответственно. Допустим, что имеется следующая программа.
using System;
class Test {
static void Main {
Console.WriteLine("Это тест.");
}
}
Если выполнить эту программу из командной строкиTest > log
то символьная строка"Это тест."будет выведена в файлlog.Аналогичным образом переадресуется ввод. Но для переадресации ввода указываемый источник входных данных должен удовлетворять требованиям программы, иначе она "зависнет".