Задача: получить список файлов в папке.
Решение: Для решения задачи будем использовать метод GetFiles(). Метод имеет несколько реализаций и поможет получить список файлов в папке, используя шаблоны, например, если надо получить список файлов отпределенного типа. Приведем небольшой код как это сделать:
Простое получение файлов из папки
1. Просто получить список всех файлов в папке:
Например нам необходимо получть все файлы в папке "C:\folder", для этого делаем так:
Directory.GetFiles(@"C:\folder")
2.Получить список файлов определенного типа
Например, мы хотим отобрать всё флэшвидео в папке - это формат .flv. Для этого пишем такую конструкцию
Directory.GetFiles(@"C:\folder", "*.flv")
3. Получить список всех файлов, включая подпапки
Если стоит задача извлечь все файлы ни только из папки, но и из подпапок, то используем следующую конструкцию
Directory.GetFiles(@"C:\folder", "*.txt", SearchOption.AllDirectories)
Нестандартные задачи получения файлов из папки
По умолчанию процедура GetFiles() выдаёт имя файла в формате "имя_файла.расширение", но если вам надо получить полный путь до файлов в папке, то необходимо прибегать к хитростям, опишем пару примеров:
1. Получить полные поти до файлов в папке
Для решения этой задачи используем следующую конструкцию:
var dir=new DirectoryInfo(patch);// папкасфайлами
var files = new List<string>(); // списокдляименфайлов
foreach (FileInfo file in dir.GetFiles()) // извлекаемвсефайлыикидаемихвсписок
{
files.Add(file.FullName); // получаем полный путь к файлу и кидаем его в список
}
2.Получить имена файлов без расширения.
var dir=new DirectoryInfo(patch); // папкасфайлами
var files = new List<string>(); // списокдляименфайлов
foreach (FileInfo file in dir.GetFiles()) // извлекаемвсефайлыикидаемихвсписок
{
files.Add(Path.GetFileNameWithoutExtension(file.FullName)); // получаем полный путь к файлу и потом вычищаем ненужное, оставляем только имя файла.
}