Простейший уровень файлового доступа включает просто получение информации о существующих файлах и каталогах, а также выполнение типичных операций с файловой системой, — таких, как копирование файлов и создание каталогов. Эти задачи не включают открытие или запись файлов (обе эти задачи будут описаны далее в этой главе).
.NET Framework предоставляет несколько базовых классов для извлечения информации файловой системы. Они находятся в пространстве имен System.IO (и, кстати, могут быть использованы в настольных приложениях точно так же, как они применяются в Web-приложениях). Это классы следующие:
Эти два набора классов предоставляют похожие методы и свойства. Ключевое отличие между ними состоит в том, что для использования методов вам нужно создавать экземпляры объектов DirectoryInfo и FileInfo, в то время как статические методы классов Directory и File доступны всегда.
Обычно классы Directory и File более удобны для выполнения одноразовых задач. С другой стороны, если вам нужно получить несколько частей информации, то лучше создать объекты DirectoryInfo и FileInfo. При этом вам не придется повторять спецификации файла или каталога при каждом вызове метода. К тому же это быстрее. Дело в том, что классы DirectoryInfo и FileInfo выполняют проверку безопасности только однажды — при создании экземпляра объекта. Directory и File выполняют проверку безопасности при каждом вызове метода.
Классы Directory и File предлагают множество удобных методов. Все они перечислены в таблицах 13.1 и 13.2. Обратите внимание, что каждый метод принимает один и тот же параметр — полностью квалифицированное путевое имя, идентифицирующее каталог или файл, с которым нужно выполнить операцию.
Таблица 13.1. Методы Directory
| Метод | Описание |
|---|---|
| CreateDirectory() | Создает новый каталог. Если вы указываете каталог внутри
другого несуществующего каталога, то ASP.NET старательно
создаст все необходимые каталоги. |
| Delete() | Удаляет соответствующий пустой каталог. Чтобы удалить
каталог вместе со всем его содержимым (подкаталогами и
файлами), добавьте второй необязательный параметр — true. |
| Exists() | Возвращает true или false, указывая на существование или
отсутствие каталога. |
предыдущая следующая страница вначало главы оглавление
572