Неабстрактный тип класса ввода-вывода Описание
BinaryReader BinaryWriter Позволяют сохранять и читать примитивные типы данных (целые, логические, строковые и другие), как двоичные значения
BufferedStream Обеспечивает временное хранилище для потока байтов, которые можно будет направить в другое хранилище позже
Directory DirectoryInfо Используются для работы со структурой каталогов машины. Тип Directory предлагает свои функциональные возможности, в основном через статические методы. Тип DirectoryInfo обеспечивает аналогичные возможности с помощью подходящей объектной переменной
DriveInfo Этот тип (появившийся в .NET 2.0) предлагает подробную информацию о дисках, установленных на машине
File FileInfo Используются для работы с файлами. Тип File предлагает свои функциональные возможности, в основном через статические методы. Тип FileInfo обеспечивает аналогичные возможности с помощью подходящей объектной переменной
FileStream Позволяет реализовать произвольный доступ к файлам (например, поиск), когда данные представлены в виде потока байтов
FileSystemWatcher Позволяет контролировать изменения внешнего файла
MemoryStream Обеспечивает прямой доступ к данным, сохраненным в памяти, а не в физическом файле
Path Выполняет операции с типами System.String, содержащими информацию о файлах или каталогах в независимом от платформы виде
StreamWriter StreamReader Используются для записи (и чтения) текстовой информации файлов. Эти типы не поддерживают доступ к файлам с произвольной организацией
StringWriter StringReader Подобно типам StreamReader/StreamWriter, эти классы тоже обеспечивают обработку текстовой информации. Однако соответствующим хранилищем в данном случае является строковый буфер, а не физический файл
<p>Типы Directory(Info) и File(Info)</p>

Пространство System.IO предлагает четыре типа, позволяющие как обработку отдельных файлов, так и взаимодействие со структурой каталогов машины. Первые два из этих типов – Directory и File – с помощью различных статических членов позволяют выполнение операций создания, удаления, копирования и перемещения файлов. Родственные типы FileInfo и DirectoryInfo предлагают аналогичные возможности в виде методов экземпляра (который, таким образом, необходимо будет создать). На рис. 16.1 показана схема зависимости типов, связанных с обработкой каталогов и файлов. Обратите внимание на то, что типы Directory и File расширяют непосредственно System.Object, в то время как DirectoryInfo и FileInfo получаются из абстрактного типа FileSystemInfo.

Рис. 16.1. Типы, обеспечивающие работу с каталогами и файлами

Вообще говоря, FileInfо и DirectoryInfо являются лучшим выбором для рекурсивных операций (таких как, например, составление перечня всех подкаталогов с данным корнем), поскольку члены классов Directory и File обычно возвращает строковые значения, а не строго типизированные объекты.

<p>Абстрактный базовый класс FileSystemInfo</p>
Перейти на страницу:

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