Иллюстрированный самоучитель по Visual Basic .NET

Важнейшие члены классов FileSystemInfo, FileInfo и DirectoryInfo

Таблица 9.5. Основные методы класса DirectoryInfo.

Метод/свойство Описание
Exists (свойство) Логический признак существования каталога
Name (свойство) Имя каталога
Parent (свойство) Объект DirectoryInfo для родительского каталога (для корневых каталогов возвращается Nothing)
Create Создает каталог, путь к которому указан в конструкторе DirectoryInfo
CreateSubdirectory (ByVal As String) Создает подкаталог, путь к которому передается в виде параметра. Возвращает объект Directorylnfo для созданного подкаталога
Delete Удаляет пустой каталог, представленный объектом Directorylnfo. Если присвоить True необязательному логическому параметру, происходит рекурсивное удаление непустого каталога и всех его подкаталогов
GetDirectories Возвращает массив объектов Directorylnfo для подкаталогов текущего каталога
GetFiles Возвращает массив объектов Filelnfo для файлов текущего каталога
GetFileSystemlnfos Хороший пример использования абстрактных классов: метод возвращает массив объектов FileSystemlnfo, представляющих все файлы и подкаталоги текущего каталога
MoveTo(ByVal destDirName As String) Перемещает Directorylnfo и все его содержимое
Root (свойство) Объект DirectoryIlnfo для корневого каталога в иерархии текущего каталога

Таблица 9.6. Члены класса Filelnfo, не возвращающие потоков.

Метод/свойство Описание
Directory (свойство) Объект Directorylnfo для каталога, в котором находится файл
DirectoryName (свойство) Полный путь к файлу в строковом виде
Exists (свойство) Логический признак существования файла
Length (свойство) Размер текущего файла
CopyTo(ByVal destFileName As String) Копирует существующий файл и возвращает объект Filelnfo для копии. Необязательный логический параметр управляет перезаписью существующих файлов
Create Создает файл по имени, указанному при конструировании объекта Filelnfo, и возвращает объект FileSystem для нового файла
Delete Удаляет файл, представленный объектом FileInfo
MoveTo(ByVal destFileName As String) Перемещает файл

Примечание
Идея выделения общей функциональности в абстрактный базовый класс выглядит вполне логично, однако в данном случае она реализована не лучшим образом. Например, свойство Length присутствует в файле FileInfo, но не поддерживается в FileSystemlnfo, поэтому для вычисления размера дерева каталогов приходится прибегать к услугам другого объекта – а именно вызывать метод Size объекта Folder, входящего в модель FileSystemObject. Эта модель впервые была представлена в VBScript, поэтому в решение приходится включать ссылку на библиотеку сценарной поддержки на базе СОМ
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.