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

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

Тут можно читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных год 2004. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте Nice-Books.Ru (NiceBooks) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

На заметку! Если вы не работаете на машине с Windows, тогда модифицируйте код, чтобы читать файлы в каком-нибудь каталоге на вашей машине  Не забудьте использовать Path.VolumeSeparatorChar и Path.DirectorySeparatorChar, сделав код межплатформенным.

Метод GetFiles() возвращает массив объектов FileInfo, каждый из которых открывает доступ к детальной информации о конкретном файле (тип FileInfo будет подробно описан далее в главе). Создайте в классе Program следующий статический метод:

static void DisplayImageFiles()

{

  DirectoryInfo dir = new

    DirectoryInfo(@"C:WindowsWebWallpaper");

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

  FileInfo[] imageFiles =

    dir.GetFiles(&quot;*.jpg&quot;, SearchOption.AllDirectories);

<b>  // Сколько файлов найдено?</b>

  Console.WriteLine(&quot;Found {0} *.jpg filesn&quot;, imageFiles.Length);

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

  foreach (FileInfo f in imageFiles)

  {

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

    Console.WriteLine(&quot;File name: {0}&quot;, f.Name          // Имя файла

    Console.WriteLine(&quot;File size: {0}&quot;, f.Length);      // Размер

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

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

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

  }

}

Обратите внимание на указание в вызове GetFiles() варианта поиска; SearchOption.AllDirectories обеспечивает просмотр всех подкаталогов корня. В результате запуска приложения выводится список файлов, которые соответствуют поисковому шаблону.

Создание подкаталогов с помощью типа DirectoryInfo

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

static void ModifyAppDirectory()

{

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

<b>  // Создать MyFolder в каталоге запуска приложения.</b>

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  dir.CreateSubdirectory(&quot;MyFolder&quot;);

<b>  // Создать MyFolder2Data в каталоге запуска приложения.</b>

  dir.CreateSubdirectory(

    $@&quot;MyFolder2{Path.DirectorySeparatorChar}Data&quot;);

}

Получать возвращаемое значение метода CreateSubdirectory() не обязательно, но важно знать, что в случае его успешного выполнения возвращается объект DirectoryInfo, представляющий вновь созданный элемент. Взгляните на следующую модификацию предыдущего метода:

static void ModifyAppDirectory()

{

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

<b>  // Создать MyFolder в начальном каталоге.</b>

  dir.CreateSubdirectory(&quot;MyFolder&quot;);

<b>  // Получить возвращенный объект DirectoryInfo.</b>

  DirectoryInfo myDataFolder = dir.CreateSubdirectory(

    $@&quot;MyFolder2{Path.DirectorySeparatorChar}Data&quot;);

<b>  // Выводит путь к ..MyFolder2Data.</b>

  Console.WriteLine(&quot;New Folder is: {0}&quot;, myDataFolder);

}

Вызвав метод ModifyAppDirectory() в операторах верхнего уровня и запустив программу, в проводнике Windows можно будет увидеть новые подкаталоги.

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

Вы видели тип DirectoryInfo в действии и теперь готовы к изучению типа Directory. По большей части статические члены типа Directory воспроизводят функциональность, которая предоставляется членами уровня экземпляра, определенными в DirectoryInfo. Тем не менее, вспомните, что члены типа Directory обычно возвращают строковые данные, а не строго типизированные объекты FileInfo/DirectoryInfo.

Давайте взглянем на функциональность типа Directory; показанный ниже вспомогательный метод отображает имена всех логических устройств на текущем компьютере (с помощью метода Directory.GetLogicalDrives()) и применяет статический метод Directory.Delete() для удаления созданных ранее подкаталогов MyFolder и MyFolder2Data:

static void FunWithDirectoryType()

{

<b>  // Вывести список всех логических устройств на текущем компьютере.</b>

  string[] drives = Directory.GetLogicalDrives();

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

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

Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки Nice-Books.Ru.


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

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


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

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

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


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