books-read.com
books-read.com » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
Добавить книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю в приложение ЧИТАТЬ КНИГУ ОФЛАЙН в приложении ios/android
Перейти на страницу:

В классе

FileSystemInfо
также определен метод
Delete()
. Он реализуется производными типами для удаления заданного файла или каталога с жесткого диска. Кроме того, перед получением информации об атрибутах можно вызвать метод
Refresh()
, чтобы обеспечить актуальность статистических данных о текущем файле или каталоге.

Работа с типом DirectoryInfо

Первый неабстрактный тип, связанный с вводом-выводом, который мы исследуем здесь —

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

Язык программирования C#9 и платформа .NET5 - _129.png

Работа с типом

DirectoryInfo
начинается с указания отдельного пути в параметре конструктора. Если требуется получить доступ к текущему рабочему каталогу (каталогу выполняющегося приложения), то следует применять обозначение в виде точки (
.
). Вот некоторые примеры:

<b>// Привязаться к текущему рабочему каталогу.</b>

DirectoryInfo dir1 = new DirectoryInfo(&quot;.&quot;);

<b>// Привязаться к C:Windows, используя дословную строку.</b>

DirectoryInfo dir2 = new DirectoryInfo(@&quot;C:Windows&quot;);

Во втором примере предполагается, что путь, передаваемый конструктору (

С:Windows
), уже существует на физической машине. Однако при попытке взаимодействия с несуществующим каталогом генерируется исключение
System.IO.DirectoryNotFoundException
. Таким образом, чтобы указать каталог, который пока еще не создан, перед работой с ним понадобится вызвать метод
Create()
:

<b>// Привязаться к несуществующему каталогу, затем создать его.</b>

DirectoryInfo dir3 = new DirectoryInfo(@&quot;C:MyCodeTesting&quot;);

dir3.Create();

Синтаксис пути, используемый в предыдущем примере, ориентирован на Windows. Если вы разрабатываете приложения .NET Core для разных платформ, тогда должны применять конструкции

Path.VolumeSeparatorChar
и
Path.DirectorySeparatorChar
, которые будут выдавать подходящие символы на основе платформы. Модифицируйте предыдущий код, как показано ниже:

DirectoryInfo dir3 = new DirectoryInfo(

  $@&quot;C{<b>Path.VolumeSeparatorChar}{Path.DirectorySeparatorChar}</b>

<b>  MyCode{Path.DirectorySeparatorChar</b>}Testing&quot;);

После создания объекта

DirectoryInfo
можно исследовать содержимое лежащего в основе каталога с помощью любого свойства, унаследованного от
FileSystemInfo
. В целях иллюстрации создайте новый проект консольного приложения по имени
DirectorуАрр
и импортируйте в файл кода C# пространства имен
System
и
System.IO
. Измените класс
Program
, добавив представленный далее новый статический метод, который создает объект
DirectoryInfo
, отображенный на
С:Windows
(при необходимости подкорректируйте путь), и выводит интересные статистические данные:

using System;

using System.IO;

Console.WriteLine(&quot;***** Fun with Directory(Info) *****n&quot;);

ShowWindowsDirectoryInfo();

Console.ReadLine();

static void ShowWindowsDirectoryInfo()

{

<b>  // Вывести информацию о каталоге. В случае работы не под</b>

<b>  // управлением Windows подключитесь к другому каталогу.</b>

  DirectoryInfo dir = new DirectoryInfo($@&quot;C{Path.VolumeSeparatorChar}

  {Path.DirectorySeparatorChar}Windows&quot;);

  Console.WriteLine(&quot;***** Directory Info *****&quot;);

                        // Информация о каталоге

  Console.WriteLine(&quot;FullName: {0}&quot;, dir.FullName);     // Полное имя

  Console.WriteLine(&quot;Name: {0}&quot;, dir.Name);             // Имя каталога

  Console.WriteLine(&quot;Parent: {0}&quot;, dir.Parent);         // Родительский каталог

  Console.WriteLine(&quot;Creation: {0}&quot;, dir.CreationTime); // Время создания

  Console.WriteLine(&quot;Attributes: {0}&quot;, dir.Attributes); // Атрибуты

  Console.WriteLine(&quot;Root: {0}&quot;, dir.Root);             // Корневой каталог

  Console.WriteLine(&quot;**************************n&quot;);

}

Вывод у вас может отличаться, но быть похожим:

***** Fun with Directory(Info) *****

***** Directory Info *****

FullName: C:Windows

Name: Windows

Parent:

Creation: 3/19/2019 00:37:22

Attributes: Directory

Root: C:

**************************

Перечисление файлов с помощью типа DirectoryInfо

В дополнение к получению базовых сведений о существующем каталоге текущий пример можно расширить, чтобы задействовать некоторые методы типа

DirectoryInfо
. Первым делом мы используем метод
GetFiles()
для получения информации обо всех файлах
*.jpg
, расположенных в каталоге
С:WindowsWebWallpaper
.

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - на сайте онлайн книг books-read.com Вы можете читать полные версии книг автора в одном месте.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор books-read.com


Прокомментировать
Подтвердите что вы не робот:*