Читать книгу 📗 "Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю"
В классе
FileSystemInfоDelete()Refresh()Работа с типом DirectoryInfо
Первый неабстрактный тип, связанный с вводом-выводом, который мы исследуем здесь —
DirectoryInfoFileSystemInfоDirectoryInfo
Работа с типом
DirectoryInfo.<b>// Привязаться к текущему рабочему каталогу.</b>DirectoryInfo dir1 = new DirectoryInfo(".");<b>// Привязаться к C:Windows, используя дословную строку.</b>DirectoryInfo dir2 = new DirectoryInfo(@"C:Windows");Во втором примере предполагается, что путь, передаваемый конструктору (
С:WindowsSystem.IO.DirectoryNotFoundExceptionCreate()<b>// Привязаться к несуществующему каталогу, затем создать его.</b>DirectoryInfo dir3 = new DirectoryInfo(@"C:MyCodeTesting");dir3.Create();Синтаксис пути, используемый в предыдущем примере, ориентирован на Windows. Если вы разрабатываете приложения .NET Core для разных платформ, тогда должны применять конструкции
Path.VolumeSeparatorCharPath.DirectorySeparatorCharDirectoryInfo dir3 = new DirectoryInfo( $@"C{<b>Path.VolumeSeparatorChar}{Path.DirectorySeparatorChar}</b><b> MyCode{Path.DirectorySeparatorChar</b>}Testing");После создания объекта
DirectoryInfoFileSystemInfoDirectorуАррSystemSystem.IOProgramDirectoryInfoС:Windowsusing System;using System.IO;Console.WriteLine("***** Fun with Directory(Info) *****n");ShowWindowsDirectoryInfo();Console.ReadLine();static void ShowWindowsDirectoryInfo(){<b> // Вывести информацию о каталоге. В случае работы не под</b><b> // управлением Windows подключитесь к другому каталогу.</b> 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:WindowsName: WindowsParent:Creation: 3/19/2019 00:37:22Attributes: DirectoryRoot: C:**************************Перечисление файлов с помощью типа DirectoryInfо
В дополнение к получению базовых сведений о существующем каталоге текущий пример можно расширить, чтобы задействовать некоторые методы типа
DirectoryInfоGetFiles()*.jpgС:WindowsWebWallpaper