Найти файл с определенным расширением в папке

Учитывая путь к папке (например, C:\Random Folder ), как я могу найти файл в нем, который содержит определенное расширение, например txt ? Я предполагаю, что мне придется искать *.txt в каталоге, но я не уверен, как я должен начать этот поиск в первую очередь.

    Посмотрите на class System.IO.Directory и статический метод GetFiles . Он имеет перегрузку, которая принимает путь и шаблон поиска. Пример:

      string[] files = System.IO.Directory.GetFiles(path, "*.txt"); 

    Вы можете использовать class Directory

      Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories) 

    На самом деле это довольно просто. Вы можете использовать class System.IO.Directory вместе с System.IO.Path . Что-то вроде (используя LINQ делает это еще проще):

     var allFilenames = Directory.EnumerateFiles(path).Select(p => Path.GetFileName(p)); // Get all filenames that have a .txt extension, excluding the extension var candidates = allFilenames.Where(fn => Path.GetExtension(fn) == ".txt") .Select(fn => Path.GetFileNameWithoutExtension(fn)); 

    Конечно, есть много вариаций в этой технике. Некоторые из других ответов проще, если ваш фильтр проще. У этого есть преимущество задерживаемого enums (если это имеет значение) и более гибкой фильтрации за счет большего количества кода.

    Метод ниже возвращает только файлы с определенным расширением (например: файл с .txt, но не .txt1)

     public static IEnumerable GetFilesByExtension(string directoryPath, string extension, SearchOption searchOption) { return Directory.EnumerateFiles(directoryPath, "*" + extension, searchOption) .Where(x => string.Equals(Path.GetExtension(x), extension, StringComparison.InvariantCultureIgnoreCase)); } 

    По моему мнению, это можно сделать двумя способами:

    1) Вы можете использовать class Directory Class с методом Getfiles и пройти через все файлы, чтобы проверить наше требуемое расширение.

    Directory.GetFiles ( “your_folder_path) [я] .Contains (” *. TXT “)

    2) Вы можете использовать Path Class с методом GetExtension, который принимает путь к файлу в качестве параметра и проверяет расширение. Чтобы получить путь к файлу, просто установите условие цикла, которое выберет один файл и вернет путь к файлу, который можно использовать для проверки.

    Path.GetExtension (your_file_path) .equals ( “JSON”)

    Примечание. Оба логики должны находиться внутри условия цикла.

    Используйте этот код для чтения файла со всеми типами файлов расширения.

     string[] sDirectoryInfo = Directory.GetFiles(SourcePath, "*.*"); 
    Interesting Posts

    Как остановить другие приложения, играющие музыку из моей текущей деятельности?

    В каких сценариях замораживание объектов WPF значительно повышает производительность?

    Добавление точек в XYSeries динамически с помощью JfreeChart

    Настроить карту сетевого диска на Mac OS X Leopard

    Есть ли способ создать свой собственный тег html в HTML5?

    Как я могу запускать тесты NUnit параллельно?

    Как я могу получить дескриптор процесса по его имени в C ++?

    Как разделять и присоединяться без перекодирования видеофайлов AVC / MPEG-TS в Windows с помощью ffmpeg?

    Является ли ondestroy не всегда называется?

    Дооснащение Ожидаемое BEGIN_OBJECT, но BEGIN_ARRAY

    Как узнать, какое хранилище ключей было использовано для подписи приложения?

    Какой лучший ответ для: «мой Интернет не работает»?

    Как я могу добавить программу, которая начинается с моего ПК?

    Как домашние сети будут работать в мире IPv6?

    Найти все каталоги, содержащие определенный символ, и распечатать их

    Давайте будем гением компьютера.