| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Рекурсивный поиск файлов |
| Автор: Softaz 26.3.2006, 23:07 |
| Как реализовать? Нужно получить путь+имя файла. Нашел http://forum.vingrad.ru/index.php?showtopic=68472&unread=1&hl=%D0%BF%D0%BE%D0%B8%D1%81%D0%BA Там рекурсии нет Есть функция FindInFiles для поиска в файлах (конечно, малость не то), параметром которой можно указать рекурсивный поиск. Только она возвращает _сразу_ весь массив имен, а не сразу как найдет следующий файл. То есть сначала она найдет все файлы, скажем на диске C:\, и только потом можнос ними работать Плюс ко всему, если возникает ошибка доступа к файлу, то, соответственно, массива не будет Т.о. желательно получать имя файла _сразу_ после его нахождения, а не готовый массив после нахождения всех 100000 файлов. Использование DllImport и API-функций FindFirst, FindNext также неприемлемо. |
| Автор: Void 26.3.2006, 23:18 |
| Softaz, этот вопрос неоднократно всплывал на RSDN, и в итоге, сколько я помню, пришли к выводу, что если надо получать файлы поочередно, то без WinAPI не обойтись. |
| Автор: mr.DUDA 27.3.2006, 09:40 |
| Не понимаю, чем не подходит DirectoryInfo и FileInfo ? |
| Автор: Softaz 27.3.2006, 18:13 | ||
Вот:
|
| Автор: Void 27.3.2006, 18:15 | ||
mr.DUDA,
А так да, DirectoryInfo.GetFiles. Добавлено @ 18:21 Кстати, внешний интерфейс к рекурсивному поиску можно реализовать в виде итератора. Тогда отпадет необходимость возвращать массив. |