Учитывая путь к папке (как C:\Random Folder
), как я могу найти файл в нем, как который содержит определенное расширение, txt
? Я предполагаю, что должен буду сделать поиск *.txt
в каталоге, но я не уверен, как я, как предполагается, запускаю этот поиск во-первых.
Посмотрите на класс System.IO.Directory
и статический метод GetFiles
. У него есть перегрузка, которая принимает путь и шаблон поиска. Пример:
string[] files = System.IO.Directory.GetFiles(path, "*.txt");
На самом деле это довольно просто. Вы можете использовать класс 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));
Конечно, есть много вариаций этой техники. Некоторые другие ответы будут проще, если ваш фильтр будет проще. У этого есть преимущество отложенного перечисления (если это имеет значение) и более гибкой фильтрации за счет большего количества кода.
Вы можете использовать Directory класс
Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories)