ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode


Программа для поиска файлов на C#


В уроке будет написана консольная программа для поиска файлов на C#. Код, который используется для поиска, очень полезен для решения ряда задач. Он пригодится Вам для написания более сложных программ.

Поиск файлов в языке программирования C# осуществляется с помощью метода EnumerateFiles класса Directory, находящегося в пространстве имён System.IO фреймворка .NET.

Чтобы воспользоваться методом, сначала нужно подключить пространство имён с помощью директивы using:

Метод EnumerateFiles имеет следующий прототип:

Аргументы метода:

  • catalog (строковый тип string) — путь к каталогу в котором будет производиться поиск. Регистр символов не учитывается.
  • fileName (строковый тип string) — имя файла для поиска. Оно может содержать подстановочные поисковые символы: * и ?. Звездочка обозначает произвольное количество символов на её месте, а знак вопроса — один символ на месте подстановки.
  • SearchOption — это перечисление задающее опции поиска. Имеет два значения: SearchOption.TopDirectoryOnly (поиск будет выполнен только в текущем каталоге) и SearchOption.AllDirectories (поиск будет произведён в указанном каталоге и во всех его подкаталогах).

Метод EnumerateFiles возвращает перечислимую коллекцию строк — полных имён (путь + имя) файлов, полученных в результате поиска.

Перебирать все результаты поиска удобно с помощью оператора цикла foreach.

Напишем программу на языке программирования C#, демонстрирующую поиск файлов.

В переменной catalog указан путь к папке, в которой будет происходить поиск. Переменная fileName содержит имя файла для поиска. Поиск происходит с параметром SearchOption.AllDirectories, то есть файлы ищутся в указанном каталоге (catalog) и всех его подпапках.


Коллекция результатов поиска перебирается в цикле foreach (строка 16). С помощью полного имени каждого найденного файла (findedFile) создаётся объект класса FileInfo (строка 19, 23). Данный класс позволяет получать различную информацию о файле. Некоторые параметры выведем в консоль для демонстрации (строка 25): имя файла, полное имя файла, размер в байтах, а также дату и время создания файла.

Во время создания экземпляра класса FileInfo может возникнуть исключительная ситуация, когда имя файла (findedFile) слишком велико. Для перехвата такой ситуации используется оператор try-catch.

Представленную программу для поиска файлов на C# протестируем на специально созданном для этого каталоге с файлами и подкаталогом.

Папка с файлами для поиска

Результаты поиска по запросу «Файл.txt» представлены ниже.

Поиск файлов на C#

Теперь попробуем выполнить поиск, используя подстановочные символы.

Программа для поиска файлов на C#

Представленная программа для поиска файлов показывает основные принципы поиска файлов с помощью языка программирования C#.

4.6/5 - (10 голосов)



Поделиться в соц. сетях:

Добавить комментарий

Ваш адрес email не будет опубликован.