В среде .NET Framework предусмотрены классы для организации ввода-вывода в файлы. Безусловно, это в основном файлы дискового типа. На уровне операционной системы файлы имеют байтовую организацию. И, как следовало ожидать, для ввода и вывода байтов в файлы имеются соответствующие методы. Поэтому ввод и вывод в файлы байтовыми потоками весьма распространен. Кроме того, байтовый поток ввода или вывода в файл может быть заключен в соответствующий объект символьного потока. Операции символьного ввода-вывода в файл находят применение при обработке текста. О символьных потоках речь пойдет далее в этой главе, а здесь рассматривается байтовый ввод-вывод.

Для создания байтового потока, привязанного к файлу, служит классFileStream.Этот класс является производным от классаStreamи наследует всего его функции.

Напомним, что классы потоков, в том числе иFileStream,определены в пространстве именSystem. 10.Поэтому в самом начале любой использующей их программы обычно вводится следующая строка кода.

using System.10;

Открытие и закрытие файла

Дляформирования байтового потока, привязанного к файлу, создается объект классаFileStream.В этом классе определено несколько конструкторов. Ниже приведен едва ли не самый распространенный среди них:

FileStream(stringпуть,FileModeрежим)

гдепутьобозначает имя открываемого файла, включая полный путь к нему;а режим— порядок открытия файла. В последнем случае указывается одно из значений, определяемых в перечисленииFileModeи приведенных в табл. 14.4. Как правило, этот конструктор открывает файл для доступа с целью чтения или записи. Исключением из этого правила служит открытие файла в режимеFileMode .Append,когда файл становится доступным только для записи.

Таблица 14.4. Значения из перечисления FileMode

Значение

Описание

FileMode.Append FileMode.Create

FileMode.CreateNew

FileMode.Open FileMode.OpenOrCreate

FileMode.Truncate

Добавляет выводимые данные в конец файла

Создает новый выходной файл. Существующий файл с таким

же именем будет разрушен

Создает новый выходной файл. Файл с таким же именем не должен существовать Открывает существующий файл

Открывает файл, если он существует. В противном случае создает новый файл

Открывает существующий файл, но сокращает его длину до нуля

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

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