Вызвав метод ModifyAppDirectory()
Работа с типом Directory
Вы видели тип DirectoryInfo
Directory. По большей части статические члены типа Directory воспроизводят функциональность, которая предоставляется членами уровня экземпляра, определенными в DirectoryInfo. Тем не менее, вспомните, что члены типа Directory обычно возвращают строковые данные, а не строго типизированные объекты FileInfo/DirectoryInfo.Давайте взглянем на функциональность типа Directory; показанный ниже вспомогательный метод отображает имена всех логических устройств на текущем компьютере (с помощью метода Directory.GetLogicalDrives()
Directory.Delete() для удаления созданных ранее подкаталогов \MyFolder и \MyFolder2\Data:static void FunWithDirectoryType()
{
// Вывести список всех логических устройств на текущем компьютере.
string[] drives = Directory.GetLogicalDrives();
Console.WriteLine("Here are your drives:");
foreach (string s in drives)
{
Console.WriteLine("--> {0} ", s);
}
// Удалить ранее созданные подкаталоги.
Console.WriteLine("Press Enter to delete directories");
Console.ReadLine();
try
{
Directory.Delete("MyFolder");
// Второй параметр указывает, нужно ли удалять внутренние подкаталоги.
Directory.Delete("MyFolder2", true);
}
catch (IOException e)
{
Console.WriteLine(e.Message);
}
}
Работа с типом DriveInfo
Пространство имен System.IO
DriveInfo. Подобно Directory.GetLogicalDrives() статический метод DriveInfo.GetDrives() позволяет выяснить имена устройств на машине. Однако в отличие от Directory.GetLogicalDrives() метод DriveInfo.GetDrives() предоставляет множество дополнительных деталей (например, тип устройства, доступное свободное пространство и метка тома). Взгляните на следующие операторы верхнего уровня в новом проекте консольного приложения DriveInfоАрр:using System;
using System.IO;
// Получить информацию обо всех устройствах.
DriveInfo[] myDrives = DriveInfo.GetDrives();
// Вывести сведения об устройствах.
foreach(DriveInfo d in myDrives)
{
Console.WriteLine("Name: {0}", d.Name); // имя
Console.WriteLine("Type: {0}", d.DriveType); // тип
// Проверить, смонтировано ли устройство.
if(d.IsReady)
{
Console.WriteLine("Free space: {0}", d.TotalFreeSpace);
// свободное пространство
Console.WriteLine("Format: {0}", d.DriveFormat); // формат устройства
Console.WriteLine("Label: {0}", d.VolumeLabel); // метка тома
}
Console.WriteLine();
}
Console.ReadLine();
Вот возможный вывод:
***** Fun with DriveInfo *****
Name: C:\
Type: Fixed
Free space: 284131119104
Format: NTFS
Label: OS
Name: M:\
Type: Network
Free space: 4711871942656
Format: NTFS
Label: DigitalMedia
К этому моменту вы изучили несколько основных линий поведения классов Directory
DirectoryInfо и DriveInfo. Далее вы ознакомитесь с тем, как создавать, открывать, закрывать и удалять файлы, находящиеся в заданном каталоге.Работа с типом FileInfo