В данном случае код немного упрощается благодаря свойствуEndOf Stream,хотя общий порядок выполнения операции ввода из файла не меняется. Иногда такое применение свойстваEndOf Streamпозволяет несколько упростить сложную ситуацию, внося ясность и улучшая структуру кода.

Иногда файл проще открыть, используя непосредственно классStreamReader,аналогично классуStreamWriter.Для этой цели служит следующий конструктор:

StreamReader(stringпуть)

гдепуть— это имя открываемого файла, включая полный путь к нему. Указываемый файл должен существовать. В противном случае генерируется исключениеFileNotFoundException.Еслипутьоказывается пустым, то генерируется исключениеArgumentNullException.А еслипутьсодержит пустую строку, то генерируется исключениеArgumentException.Кроме того, могут быть сгенерированы исключенияIOExceptionиDirectoryNotFoundException.

Переадресация стандартных потоков

Как упоминалось ранее, стандартные потоки, напримерConsole. In,могут быть переадресованы. И чаще всего они переадресовываются в файл. Когда стандартный поток переадресовывается, то вводимые или выводимые данные направляются в новый поток в обход устройств, используемых по умолчанию. Благодаря переадресации стандартных потоков в программе может быть организован ввод команд из дискового файла, создание файлов журнала регистрации и даже чтение входных данных из сетевого соединения.

Переадресация стандартных потоков достигается двумя способами. Прежде всего, это делается при выполнении программы из командной строки с помощью операторов < и >, переадресовывающих потокиConsole . InиConsole . Outсоответственно. Допустим, что имеется следующая программа.

using System;

class Test {

static void Main() {

Console.WriteLine("Это тест.");

}

}

Если выполнить эту программу из командной строкиTest > log

то символьная строка"Это тест."будет выведена в файлlog.Аналогичным образом переадресуется ввод. Но для переадресации ввода указываемый источник входных данных должен удовлетворять требованиям программы, иначе она "зависнет".

Перейти на страницу:

Похожие книги