Приветствую тебя, путник, какие дороги указали тебе сюда? Возможно, свет луны? Или холод звезды? Отдохни здесь если устал. Поброди с нами по темным коридорам, рассекающим сознание... и вернись в мир вечных странствий ...

Выборка всех файлов в директории осуществляется простым вызовом метода Directory.GetFiles()

Категория: Разработка

Статью еще не комментировали

Данный массив будет содержать строковые значения всех найденных файлов. К примеру, если в данной директории имеется три файла price.doc, photo.jpg, data.rar, то наш массив будет содержать записи:

fullfilesPath0 – “d:\MyProject\MyFiles\price.doc”;
fullfilesPath1 – “d:\MyProject\MyFiles\photo.jpg”;
fullfilesPath2 – “d:\MyProject\MyFiles\data.rar”;

Выборка всех файлов конкретного типа из директории

string[] fullfilesPath =
Directory.GetFiles(@“d:\MyProject\MyFiles\”, “*.doc”);

Данный массив будет содержать строковые значения всех найденных файлов. В данном примере fullfilesPath содержит всего одну запись

fullfilesPath0 – “d:\MyProject\MyFiles\price.doc”;

Выборка всех файлов по части имени из директории осуществляется второй перегрузкой метода Directory.GetFiles()

string[] fullfilesPath =
Directory.GetFiles(@“d:\MyProject\MyFiles\”, “p*”);

Соответственно результаты будут следующими:

fullfilesPath0 – “d:\MyProject\MyFiles\price.doc”;
fullfilesPath1 – “d:\MyProject\MyFiles\photo.jpg”;

Если мы точно знаем несколько символов в имени требуемого файла, то можем более точно указать критерий поиска, например “pr*”. В этом случае мы получим только файл price.doc. Кстати, мы можем, конечно, и не знать не только полное имя файла, но и его тип. Соответственно, в строке критерия можно задавать что-то типа “pr*.do*”. В этом случае, мы найдем все файлы, имена которых начинаются с “pr” и их тип начинается с “do”. Еще примером может быть критерий поиска “p*o.j*g”. Под этот запрос попадет файл photo.jpg.

Выборка всех файлов директории, включая поддиректории. Если нам необходимо просмотреть все поддиректории, то в методе Directory.GetFiles() следует указать третий параметр SearchOption – перечисление, которое может принимать два значения AllDirectories/TopDirectoryOnly. Из названий уже само собой понятно какой параметр следует выбрать для поиска в поддиректориях.

string[]fullfilesPath =
Directory.GetFiles(@“d:\MyProject\MyFiles\”, “.“, SearchOption.AllDirectories);

Удаление ненужных файлов директории. После получения имен необходимых файлов мы можем их удалить следующим способом:

Array.ForEach(fullfilesPath, delegate(string currentPath) { File.Delete(currentPath); } );

Если с анонимными методами вы еще не знакомы, то знайте, что анонимные методы – это обычные методы, вызов которых может осуществлять только делегат, непосредственно определяющий данный метод. Нигде больше в коде данный метод вызвать нельзя хотя бы потому, что данный метод не имеет имени. Это обстоятельство привносит в архитектуру приложения дополнительную безопасность. Но и без делегатов вполне возможно работать с данным методом:

foreach (string fileName in fullfilesPath)
File.Delete(fileName);

Евгений , Facebook

Перед отправлением необходим предпросмотр текста

Комментирование этой статьи закрыто.