Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: как перебирать папки и файлы в C#?  (Прочитано 20980 раз)
0 Пользователей и 1 Гость смотрят эту тему.
borman77
Гость
« : 03-08-2005 11:56 » 

хочется написать простенький поисковик, которому задаешь начальную папку, а дальше он сам перебирает все файлы и под-папки.
долго бился с foreach но так и не понял как обьявить обьект. каждый из которых надо рассматривать.
кто знает что делать?
зарание спасибо!
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 03-08-2005 12:12 » 

Цитата
Для работы с файлами и папками в пространстве имен System.IO существуют следующие классы:

Directory - содержит ряд статических методов для выполнения различных операций с папками (создание, удаление, проверка существования, получение текущей папки и т. п.).

DirectoryInfo - аналогичен классу Directory, только его методы не статические - для использования этого класса надо создать его экземпляр (параметром для конструктора служит имя папки).

File - содержит ряд статических методов для выполнения различных операций с файлами (создание, удаление, копирование и т. п.).

FileInfo - аналогичен классу File, только его методы не статические - для использования этого класса надо создать его экземпляр (параметром для конструктора служит имя файла).

Классы Directory и File яляются непосредственными потомками класса Object, а классы DirectoryInfo и FileInfo - потомками абстрактного класса FileSystemInfo.

Подробнее смотри здесь :
Класс Directory
Класс File
Класс FileSystemInfo
Класс DirectoryInfo
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Serega
Гость
« Ответ #2 : 03-08-2005 12:19 » 

Смотри в MSDN: Directory и FileInfo, DirectoryInfo
до итераторов эти умники так и не додумались, поэтому Directory.GetFileSystemInfos возвращает массив FileSystemInfo[] всех файлов и папок содержащихся в директории Отлично
этот массив можно перебирать с помощью foreach и обходить (лучше в ширину Ага)
как сделаешь напиши сколько это съело памяти Улыбаюсь
Записан
borman77
Гость
« Ответ #3 : 04-08-2005 06:20 » 

спасибо за ответы - я более менее так и сделал - воспользовался Directory.FetFiles & Directory.GetDirectories. так как они возвращают String [] имен,  то получается очень экономично с точки зрения памяти... и быстро.

правда теперь застрял на другом: в локальной машине все отлично... а вот что делать в сети...
проблема такая:  часть ресурсов в сети не доступна для моего обычного акаунта. когда я пытаюсь получить доступ к списку файлов в этих папках то получаю FileAccesExseption. - что вполне логично.
Сдругой строны я сетьевой адмиистратор и имею юзэр и пасворд администратора на домэйне. Только как обратится к папке с этим акаунтом с моей локальной машины? В хэлпе про Directory ничего пока не нарыл...
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines