как взять самый тяжелый фаил ?

wizard

Client
Регистрация
04.10.2011
Сообщения
1 009
Благодарностей
636
Баллы
113
Добрый день,

есть 30 файлов txt
нужно взять 5 самых тяжелых (в список) или рандомно выбрать 1 из этих пяти

то есть нужно в (переменную\список) сложить путь до самого тяжелого файла


Подскажите если кто в курсе
 

KirillOFF

Client
Регистрация
18.12.2010
Сообщения
1 127
Благодарностей
517
Баллы
113
В переменную "folderPath" кладем путь к папке;
В список "largestFiles" запишется результат.

Свой код > C#
Код:
var filesDictionary = new Dictionary<string, long>();
var filesList = System.IO.Directory.GetFiles(project.Variables["folderPath"].Value);
foreach (var file in filesList)
{
    filesDictionary[file] = new System.IO.FileInfo(file).Length;
}

var sortedFilesDictionary = from entry in filesDictionary orderby entry.Value descending select entry;

var largestFilesDictionary = sortedFilesDictionary.Take(5);

foreach (var pair in largestFilesDictionary)
{
    project.Lists["largestFiles"].Add(pair.Key);
}
Проверок нету, поэтому могут возникать ошибки (делайте обработку неудачного выхода).
 
  • Спасибо
Реакции: wizard

wizard

Client
Регистрация
04.10.2011
Сообщения
1 009
Благодарностей
636
Баллы
113
ух ты ))
а по вложенным папкам он ищет ?
 

KirillOFF

Client
Регистрация
18.12.2010
Сообщения
1 127
Благодарностей
517
Баллы
113
чтобы искать и по вложенным папкам, вторую строку нужно заменить на:
Код:
var filesList = System.IO.Directory.GetFiles(project.Variables["folderPath"].Value, "*", System.IO.SearchOption.AllDirectories);
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 009
Благодарностей
636
Баллы
113

wizard

Client
Регистрация
04.10.2011
Сообщения
1 009
Благодарностей
636
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)