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

Классе File. Атрибуты файла.

Класс File, как и класс Directory, состоит из общих методов, которым при вызове обычно передается имя файла. Эти методы применяются при копировании, удалении и перемещении файлов. Основные методы класса File перечислены в табл. 9.3. Обратите внимание,– все параметры передаются по значению (в таблице отсутствуют методы класса File, предназначенные для работы с потоками данных, – они будут рассмотрены ниже).

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

Метод Описание
Copy(ByVal sourceFiteName As String,ByVal destFileName As String) Копирует файл. Существует перегруженная версия метода с третьим логическим параметром overwrite; если этот параметр равен True, существующий файл с заданным именем перезаписывается
Delete(ByVal path As String) Удаляет заданный файл. Интересная подробность: если файл не существует, исключение не инициируется (см. описание метода Exists)
Exists(ByVal path As String) Возвращает логическую величину, которая показывает, существует ли файл с заданным полным именем
GetAttributes(ByVal path As String) Возвращает значение перечисляемого типа FileAttributes с описанием атрибутов файла – архивный, системный и т. д. (о том, как использовать полученный объект, рассказано в следующем разделе)
GetCreationTime (ByVal path As String) Возвращает объект даты, содержащий информацию о времени создания файла
GetLastAccessTime (ByVal path As String) Возвращает объект даты, содержащий информацию о времени последнего обращения к файлу
GetLastWriteTime (ByVal path As String) Возвращает объект даты, содержащий информацию о времени последней записи в файл
Move(ByVal sourceFileName As String, ByVal destFileName As String) Перемещает файл (поддерживается возможность перемещения на другой диск) и переименовывает его, если в параметре destFileName указано новое имя
SetAttributes(ByVal path As String, ByVal fileAttributes As FileAttributes) Задает атрибуты указанного файла

Атрибуты файла

Операции с атрибутами файлов и каталогов выполняются достаточно часто, поэтому в .NET Framework был включен удобный класс FileAttribute. Вероятно, правильнее было бы назвать его FileDirectoryAttribute, поскольку все атрибуты относятся не только к файлам, но и к каталогам.

Значения перечисляемого типа обычно объединяются поразрядными операциями, чтобы избежать всевозможных ошибок в программе. Не используйте команды следующего вида:

If File.GetAttributes("c:\foo.txt") = FileAttributes.Readonly Then…

В проверяемом условии не учитывается тот факт, что у файла могут быть установлены и другие атрибуты. Правильная команда должна выглядеть так:

If File.GetAttributes("c:\foo.txt") And FileAttributes.Readonly _
= FileAttributes.Readonly Then…

При необходимости атрибуты объединяются оператором Оr. Пример:

File.SetAttributes("с: \foo.txt".
Not (FileAttributes.Archive) Or FileAttributes.Hidden)

Команда назначает атрибуты C:\foo.txt таким образом, что файл становится скрытым (Hidden), а архивный бит (Archive) сбрасывается. Ниже перечислены важнейшие значения этого перечисляемого типа:

  • Archive
  • Compressed
  • Directory
  • Encrypted
  • Hidden
  • Normal (атрибуты не установлены)
  • Readonly
  • System
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.