Create, Создать каталог или подкаталог по указанному пути в файловой
CreateSubDirectory системе
Delete Удалить каталог со всем его содержимым
GetDirectories Возвратить массив строк, представляющих все подкаталоги
GetFiles Получить файлы в текущем каталоге в виде массива объектов класса
FileInfo
MoveTo Переместить каталог и все его содержимое на новый адрес в файловой
системе
Parent Возвратить родительский каталог
В листинге 11.9 приведен пример, в котором создаются два каталога, выводится информация о них и предпринимается попытка удаления каталога.
Листинг 11.9. Использование класса DirectoryInfo
using System;
using System.IO;
namespace ConsoleApplication1
{
class Class1
{
static void DirInfo(DirectoryInfo di)
{
// Вывод информации о каталоге
Console.WriteLine("===== Directory Info =====");
Console.WriteLine("FullName: " + di.FullName);
Console.WriteLine("Name: " + di.Name);
Console.WriteLine("Parent: " + di.Parent);
Console.WriteLine("Creation: " + di.CreationTime);
Console.WriteLine("Attributes: " + di.Attributes);
Console.WriteLine("Root: " + di.Root);
Console.WriteLine("==========================");
}
static void Main()
{
DirectoryInfo di1 = new DirectoryInfo(@"c:\MyDir");
DirectoryInfo di2 = new DirectoryInfo(@"c:\MyDir\temp");
|
|
try
{
// Создать каталоги
di1.Create();
di2.Create();
// Вывести информацию о каталогах
DirInfo(di1);
DirInfo(di2);
// Попытаться удалить каталог
Console.WriteLine("Попытка удалить {0}.", di1.Name);
di1.Delete();
}
catch (Exception)
{
Console.WriteLine("Попытка не удалась ");
}
}
}
}
Результат работы программы:
===== Directory Info =====
Full Name: c:\MyDir
Name: MyDir
Parent:
Creation: 30.04.2006 17:14:44
Attributes: Directory
Root: c:\
===== Directory Info =====
FullName: c:\MyDir\temp
Name: temp
Parent: MyDir
Creation: 30.04.2006 17:14:44
Attributes: Directory
Root: c:\
Попытка удалить MyDir.
Попытка не удалась
Каталог не пуст, поэтому попытка его удаления не удалась. Впрочем, если использовать перегруженный вариант метода Delete с одним параметром, задающим режим удаления, можно удалить и непустой каталог:
di1.Delete(true): // удаляет непустой каталог
Обратите внимание на свойство Attributes. Некоторые его возможные значения, заданные в перечислении FileAttributes, приведены в табл. 11.12.
Таблица 11.12. Некоторые значения перечисления FileAttributes