daily pastebin goal
58%
SHARE
TWEET

Untitled

a guest Jun 22nd, 2018 70 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
  1. //*****************************************************************************
  2. //  Вспомогательный класс, дополняющий DirectoryInfo(инфу каталога...)
  3. //  методом GetAllFiles который выдаёт спикок FileInfo
  4. //  тобишь информацию о всех файлах в каталоге.
  5. //  
  6. //  Использовать примерно так:
  7. //  using System.IO;
  8. //  using Progolab.Extentions;
  9. //  DirectoryInfo di = new DirectoryInfo("C:\\SomeDirectory\\");
  10. //  List<FileInfo> all_files = di.GetAllFiles();
  11. //  foreach (FileInfo fi in all_files)
  12. //  {
  13. //     Console.WriteLine(fi.FullName);
  14. //  }
  15. //
  16. //  PS: Финчи шарпа 3.0, чтоб использовать нужен Framework 3.0+
  17. //  PPS: Have fun =)
  18. //  PPPS: CollectFiles написанна на земном C# 1.0 =)...
  19. //*****************************************************************************
  20. namespace Progolab.Extentions
  21. {
  22.     using System;
  23.     using System.Collections.Generic;
  24.     using System.Linq;
  25.     using System.IO;
  26.     public static class DirectoryInfoExtention
  27.     {
  28.         /// <summary>
  29.         /// Список ВСЕХ файлов в пределах директории
  30.         /// </summary>
  31.         /// <param name="dir">Указатель на директорию в которой ищем</param>
  32.         /// <returns>Список ВСЕХ файлов в пределах директории</returns>
  33.         public static List<FileInfo> GetAllFiles(this DirectoryInfo dir)
  34.         {
  35.             //Готовим список
  36.             List<FileInfo> fileList = new List<FileInfo>();
  37.             //Вызов хитрой вспомогательной функции
  38.             CollectFiles(dir.FullName, fileList);
  39.             //Что собрали то и выплёвываем
  40.             return fileList;
  41.         }
  42.         /// <summary>
  43.         /// Собираем все файлы в текущей директории
  44.         /// </summary>
  45.         /// <param name="curr_path">Каталог в котором ищем</param>
  46.         /// <param name="fileList">Список в который всё собираем</param>
  47.         static void CollectFiles(string curr_path, List<FileInfo> fileList)
  48.         {
  49.             //Рекурсивно "падаем" в каждую из директорий текущего каталога
  50.             foreach (string dir_name in Directory.GetDirectories(curr_path))
  51.                 CollectFiles(dir_name + "\\", fileList);
  52.             //Собираем все файлы в текущем каталоге
  53.             foreach (string file_name in Directory.GetFiles(curr_path))
  54.                 fileList.Add(new FileInfo(file_name));
  55.         }
  56.     }
  57. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top