В среде .NET Framework предусмотрены классы для организации ввода-вывода в файлы. Безусловно, это в основном файлы дискового типа. На уровне операционной системы файлы имеют байтовую организацию. И, как следовало ожидать, для ввода и вывода байтов в файлы имеются соответствующие методы. Поэтому ввод и вывод в файлы байтовыми потоками весьма распространен. Кроме того, байтовый поток ввода или вывода в файл может быть заключен в соответствующий объект символьного потока. Операции символьного ввода-вывода в файл находят применение при обработке текста. О символьных потоках речь пойдет далее в этой главе, а здесь рассматривается байтовый ввод-вывод.
Для создания байтового потока, привязанного к файлу, служит классFileStream.Этот класс является производным от классаStreamи наследует всего его функции.
Напомним, что классы потоков, в том числе иFileStream,определены в пространстве именSystem. 10.Поэтому в самом начале любой использующей их программы обычно вводится следующая строка кода.
using System.10;
Открытие и закрытие файла
Дляформирования байтового потока, привязанного к файлу, создается объект классаFileStream.В этом классе определено несколько конструкторов. Ниже приведен едва ли не самый распространенный среди них:
FileStream(string
где
Таблица 14.4. Значения из перечисления FileMode
Значение
Описание
FileMode.Append FileMode.Create
FileMode.CreateNew
FileMode.Open FileMode.OpenOrCreate
FileMode.Truncate
Добавляет выводимые данные в конец файла
Создает новый выходной файл. Существующий файл с таким
же именем будет разрушен
Создает новый выходной файл. Файл с таким же именем не должен существовать Открывает существующий файл
Открывает файл, если он существует. В противном случае создает новый файл
Открывает существующий файл, но сокращает его длину до нуля