Работа с классом Directorylnfo
Класс Directorylnfo содержит набор методов для создания, перемещения, удаления и выполнения перечисления всех папок и подпапок. В данном классе к функциональности базового класса FileSystemlnfo добавлены следующие основные возможности (табл. 9.2).
Таблица 9.2
Основные элементы класса Directorylnfo
Элементы |
Описание |
Create(), CreateSubdi- rectory() |
создание папки (или набора подпапок) с использованием заданного имени |
Delete() |
удаление папки и всего ее содержания |
GetDirec-tories() |
получение массива строк, которые содержат названия всех подпапок текущей папки |
GetFiles() |
получение массива объектов типа Filelnfo, которые соответствуют файлам конкретной папки |
MoveTo() |
перемещение папки и ее содержания в новое место |
Parent |
получение объекта Directorylnfo родительской папки для текущей папки |
Root |
получение объекта Directorylnfo для корневой папки текущей папки |
Создание объектов класса Directorylnfo
Работа с классом Directorylnfo начинается с создания объекта данного класса с помощью конструктора, параметром которого является путь к конкретной папке. Для получения объекта соответствующего текущей папке (например, директории выполняемого приложения), используйте строку "."ю Например:
// получение текущей рабочей папки Directorylnfo dir1 = new Directorylnfof.");
// получение объекта, соответстующего папке C:Windows Directorylnfo dir2 = new Directorylnfo(@"C:Windows");
Если указанной папки не существует, то объект будет создан, однако при работе с ним будет выдаваться исключение System. IO.DirectoryNotFoundException.
Если создан объект для несуществующей папки, то нужно вызвать метод Create() прежде, чем продолжать работу с объектом:
// Создаем объект для несуществующей папки Directorylnfo dir3 = new Directorylnfo(@"C:MyFolder");
// Затем создаем эту папку dir3.Create();
После создания объекта класса Directorylnfo можно выполнять работу с его содержанием, используя любые свойства, наследуемые от класса FileSystemlnfo. Например, объект класса Directorylnfo, связанный с папкой C:Windows, позволяет получить много полезной информации о ней: Directorylnfo dir = new Directorylnfo(@"C:WindowsH); Console.WriteLinefFullName: {0}", dir.FullName);
Console.WriteLinefName: {0}", dir.Name);
Console.WriteLine("Parent: {0}", dir.Parent);
Console.WriteLine("Attributes: {0}", dir.Attributes);