Работа с типом DirectoryInfo
.). Вот некоторые примеры:// Привязаться к текущему рабочему каталогу.
DirectoryInfo dir1 = new DirectoryInfo(".");
// Привязаться к C:\Windows, используя дословную строку.
DirectoryInfo dir2 = new DirectoryInfo(@"C:\Windows");
Во втором примере предполагается, что путь, передаваемый конструктору (С:\Windows
System.IO.DirectoryNotFoundException. Таким образом, чтобы указать каталог, который пока еще не создан, перед работой с ним понадобится вызвать метод Create():// Привязаться к несуществующему каталогу, затем создать его.
DirectoryInfo dir3 = new DirectoryInfo(@"C:\MyCode\Testing");
dir3.Create();
Синтаксис пути, используемый в предыдущем примере, ориентирован на Windows. Если вы разрабатываете приложения .NET Core для разных платформ, тогда должны применять конструкции Path.VolumeSeparatorChar
Path.DirectorySeparatorChar, которые будут выдавать подходящие символы на основе платформы. Модифицируйте предыдущий код, как показано ниже:DirectoryInfo dir3 = new DirectoryInfo(
$@"C{Path.VolumeSeparatorChar}{Path.DirectorySeparatorChar}
MyCode{Path.DirectorySeparatorChar
После создания объекта DirectoryInfo
FileSystemInfo. В целях иллюстрации создайте новый проект консольного приложения по имени DirectorуАрр и импортируйте в файл кода C# пространства имен System и System.IO. Измените класс Program, добавив представленный далее новый статический метод, который создает объект DirectoryInfo, отображенный на С:\Windows (при необходимости подкорректируйте путь), и выводит интересные статистические данные:using System;
using System.IO;
Console.WriteLine("***** Fun with Directory(Info) *****\n");
ShowWindowsDirectoryInfo();
Console.ReadLine();
static void ShowWindowsDirectoryInfo()
{
// Вывести информацию о каталоге. В случае работы не под
// управлением Windows подключитесь к другому каталогу.
DirectoryInfo dir = new DirectoryInfo($@"C{Path.VolumeSeparatorChar}
{Path.DirectorySeparatorChar}Windows");
Console.WriteLine("***** Directory Info *****");
// Информация о каталоге
Console.WriteLine("FullName: {0}", dir.FullName); // Полное имя
Console.WriteLine("Name: {0}", dir.Name); // Имя каталога
Console.WriteLine("Parent: {0}", dir.Parent); // Родительский каталог
Console.WriteLine("Creation: {0}", dir.CreationTime); // Время создания
Console.WriteLine("Attributes: {0}", dir.Attributes); // Атрибуты
Console.WriteLine("Root: {0}", dir.Root); // Корневой каталог
Console.WriteLine("**************************\n");
}
Вывод у вас может отличаться, но быть похожим:
***** Fun with Directory(Info) *****
***** Directory Info *****
FullName: C:\Windows
Name: Windows
Parent:
Creation: 3/19/2019 00:37:22
Attributes: Directory
Root: C:\
**************************