Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы C#.doc
Скачиваний:
58
Добавлен:
10.02.2015
Размер:
430.59 Кб
Скачать

Основы c# Урок 53. Класс FileSystemInfo

Класс FileSystemInfo является предком для классов DirectoryInfo и FileInfo. Именно поэтому мы и рассмотрим этот класс прежде рассматрения классов DirectoryInfo и FileInfo.

Класс FileSystemInfo содержит ряд свойств, которые позврляют получить общие характеристики файла или папки - например, время создания, различные атрибуты (только для чтения, скрытый и т. п.).

Вот наиболее важные методы свойства и методы этого класса (все эти свойства и методы применимы как к файлам, так и к папкам):

  • Delete - метод для удаления.

  • Refresh - метод для обновления информации о файле или папке (вызывается, например, перед получением атрибутов).

  • CreationTime - читает или задает время создания.

  • LastAccessTime - читает или задает время последнего доступа.

  • LastWriteTime - читает или задает время последней записи.

  • Attributes - читает или задает атрибуты (скрытый, сжатый, системный, временный, только для чтения и др.). Один из атрибутов (а именно Directory) позволяет выяснить, не является ли объект папкой.

  • FullName - читает полное имя (диск, папки, подпапки и т. д.).

  • Name - имя файла или папки.

  • Extension - расширение.

  • Exists - существование файла или папки.

Примеры использования этих методов и свойств иы рассмотрим на следующих уроках для потомков класса FileSystemInfo - т. е. для классов DirectoryInfo и FileInfo.

Основы c# Урок 54. Класс DirectoryInfo

Класс DirectoryInfo предназначен для работы с папками. Он позволяет делать стандартные операции - перемещение, удаление, создание папок и подпапок и др.. Кроме того, методы этого класса позволяют получить все подкаталоги и файлы указанной папки. В отличие от класса Directory, методы класса DirectoryInfo - это методы экземпляра (т. е. они не статические).

Вот пример использования этого класса:

// Создание объекта.

DirectoryInfo di = new DirectoryInfo("c:\\tmp\\tmp2");

// Создаем папку.

di.Create();

// Вывод информации о папке.

String s = "";

s += "Full nane: " + di.FullName + "\n";

s += "Root: " + di.Root + "\n";

s += "Name: " + di.Name;

MessageBox.Show(s);

// Перемещение папки.

di.MoveTo("c:\\tmp\\tmp3");

// Создание подпапок.

di.CreateSubdirectory("subdir1");

di.CreateSubdirectory("subdir2");

// Получение имен всех подпапок.

DirectoryInfo [] ds = di.GetDirectories();

foreach(DirectoryInfo d in ds)

{

MessageBox.Show(d.Name);

}

// Удаление папки и всех подпапок.

di.Delete(true);

Обратите внимание, что отдельного метода для переименования нет - для переименования мы используем метод MoveTo, в качестве параметра которого мы указываем новое имя.

Также обратите внимание, что в методе Delete для удаления вместе с папкой всех ее подпапок мы должны указать параметр true. Если же мы укажем параметр false или ничего не укажем, то возникнет соответствующее исключение.