Понадобилось мне обработать все изображения в папке, а так как расширений у изображений много, это и gif, jpg, bmp и тп, то простым Directory.GetFiles(path, *.jpg) тут не обойтись. Поэтому нашел простое решение. Можно было б использовать лямбда выражение и сделать код короче, но так нагляднее.
Способ использует цикл в цикле, и проходит по каждому найденному файлу, в директории.
Способ использует цикл в цикле, и проходит по каждому найденному файлу, в директории.
string SelectFolder = "C:/Work/Folder"; // Путь к каталогу string[] typeOfFiles = {"*.jpg", "*.jpeg", "*.gif", "*.png", "*.bmp", "*.flw" }; foreach (string typeOfFile in typeOfFiles) { string[] filesForWork = Directory.GetFileSystemEntries(SelectFolder, typeOfFile); // Показываем с какими файлами работаем foreach (string filesFinded in filesForWork) { // Вывести только названия файлов без пути FileInfo imageName = new FileInfo(filesFinded); // вывести названия файлов в листбокс listBox1.Items.Add(imageName.Name); } }
Это еще один способ код нашел на cyberforum.ru/:
string[] extensions = new[] { ".jpg", ".tiff", ".bmp" }; FileInfo[] files = dinfo.GetFiles() .Where(f => extensions.Contains(f.Extension.ToLower())) .ToArray();
Комментариев нет:
Отправить комментарий