Домой Files Выборка файлов из директории и поддиректорий: Справочник по C#

Выборка файлов из директории и поддиректорий: Справочник по C#

646
0


      Сегодня я покажу, как просто работать со всеми файлами на c#, находящимися в некоторой директории (папке) и всех вложенных папках. Для получения имен файлов некоторой директории используется статический метод Directory.GetFiles.

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

string[] fullfilesPath =
Directory.GetFiles(@"d:MyProjectMyFiles");

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

fullfilesPath[0] – "d:MyProjectMyFilesprice.doc";
fullfilesPath[1] – "d:MyProjectMyFilesphoto.jpg";
fullfilesPath[2] – "d:MyProjectMyFilesdata.rar";

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

view plaincopy to clipboardprint?
string[] fullfilesPath =
Directory.GetFiles(@"d:MyProjectMyFiles", "*.doc");

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

fullfilesPath[0] – "d:MyProjectMyFilesprice.doc";

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

view plaincopy to clipboardprint?
string[] fullfilesPath =
Directory.GetFiles(@"d:MyProjectMyFiles", "p*");

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

fullfilesPath[0] – "d:MyProjectMyFilesprice.doc";
fullfilesPath[1] – "d:MyProjectMyFilesphoto.jpg";

      Если мы точно знаем несколько символов в имени требуемого файла, то можем более точно указать критерий поиска, например «pr*». В этом случае мы получим только файл price.doc. Кстати, мы можем, конечно, и не знать не только полное имя файла, но и его тип. Соответственно, в строке критерия можно задавать что-то типа «pr*.do*». В этом случае, мы найдем все файлы, имена которых начинаются с «pr» и их тип начинается с «do». Еще примером может быть критерий поиска «p*o.j*g». Под этот запрос попадет файл photo.jpg.      Выборка всех файлов директории, включая поддиректории. Если нам необходимо просмотреть все поддиректории, то в методе Directory.GetFiles() следует указать третий параметр SearchOption – перечисление, которое может принимать два значения AllDirectories/TopDirectoryOnly. Из названий уже само собой понятно какой параметр следует выбрать для поиска в поддиректориях.

view plaincopy to clipboardprint?
string[]fullfilesPath =
Directory.GetFiles(@"d:MyProjectMyFiles", "*.*",
SearchOption.AllDirectories);

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

view plaincopy to clipboardprint?
Array.ForEach(fullfilesPath,
delegate(string currentPath)
{
File.Delete(currentPath);
}
);

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

view plaincopy to clipboardprint?
foreach (string fileName in fullfilesPath)
File.Delete(fileName);


Источник www.skillcoding.com

ЧИТАТЬ ТАКЖЕ:  Читаем текст заголовков окон запущенных приложений в Windows: Справочник по C#

Выборка файлов из директории и поддиректорий: Справочник по C#

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь