Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа теория передел.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
447.59 Кб
Скачать

2) Класс DriveInfo.

Работа с классом DriveInfo

В пространстве имен System.IO содержится класс с именем DriveInfo. Так же, как и Directory.GetLogicalDrives(), статический метод DriveInfo.GetDrives() позволяет получить имена драйверов компьютера. Однако в отличие от Directo-ry.GetLogicalDrives(), DriveInfo предоставляет множество других данных (такие как тип драйвера, свободное место, метки тома и т.п.). Рассмотри следующий пример:

// Получение информации обо всех драйверах

DriveInfo[] myDrives = DriveInfo.GetDrives();

// Вывод на экран их данных

foreach(DriveInfo d in myDrives) {

Console.WriteLine("Имя: {0}", d.Name);

Console.WriteLine("Тип: {0}", d.DriveType);

// проверка, смонтирован ли драйвер

if (d.IsReady) {

Console.WriteLine("Свободное место: {0}",

d.TotalFreeSpace);

Console.WriteLine("Формат: {0}", d.DriveFormat);

Console.WriteLine("Метка: {0}", d.VolumeLabel);

Console.WriteLine();

}

}

3) Классы для работы с каталогами (папками) (System.Io.Directory, System.Io.DirectoryInfo)

Работа с классом DirectoryInfo

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

Таблица 9.2.

Основные элементы класса DirectoryInfo Элементы

Описание

Create(), CreateSubdirectory()

создание папки (или набора подпапок) с использованием заданного имени;

Delete()

удаление папки и всего ее содержания;

GetDirectories()

получение массива срок, которые содержат названия всех подпапок текущей папки;

GetFiles()

получение массива объектов типа FileInfo, которые

соответствуют файлам конкретной папки;

MoveTo()

перемещение папки и ее содержания в новое место;

Parent

получение объекта DirectoryInfo родительской папки для текущей папки.

Root

получение объекта DirectoryInfo для корневой папки текущей папки

leInfo, каждый из которых соответствует одному файлу, расположенному в папке. Например:

DirectoryInfo dir =

new DirectoryInfo(@"C:\Windows\Web\Wallpaper");

// Получить все файлы с расширением *.jpg

FileInfo[] imageFiles = dir.GetFiles("*.jpg");

// Сколько файлов было найдено?

Console.WriteLine("Found {0} *.jpg files\n",

imageFiles.Length);

// Вывод на экран информацию о каждом файле.

foreach (FileInfo f in imageFiles) {

Console.WriteLine("File name: {0}", f.Name);

Console.WriteLine("File size: {0}", f.Length);

}

9.2.3. Создание подпапок с помощью класса DirectoryInfo

Для создания новых подпапок в текущей папке используется метода CreateSubdirectory(). При одном вызове этого метод за один раз создается одна или несколько вложенных подпапок. Например, для создания подпапки с именем MyFolder:

DirectoryInfo dir = new DirectoryInfo(".");

// создаем поддиректорию \MyFolder

DirectoryInfo myDataFolder =

dir.CreateSubdirectory("MyFolder");

// Создаем две вложенных поддиректории

dir.CreateSubdirectory(@"MyFolder2\Data");

Результатом работы метода CreateSubdirectory() является ссылка на объект класса DirectoryInfo, который соответствует созданной подпапке.