Программа для поиска файлов на 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#.

Программа для поиска файлов на C#
5 (100%) 2 votes

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">