Отказано в доступе по пути к папке - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, при написании программы для расчета размера возникли некоторые сложности, а именно, нет доступа к папке, вот код
Листинг программы
  1. public static long DirSize(DirectoryInfo d)
  2. {
  3. long Size = 0;
  4. // Add file sizes.
  5. FileInfo[] fis = d.GetFiles(); // ОШИБКА ЗАВИСАЕТ имеено на этой строчке
  6. foreach (FileInfo fi in fis)
  7. {
  8. Size += fi.Length;
  9. }
  10. // Add subdirectory sizes.
  11. DirectoryInfo[] dis = d.GetDirectories();
  12. foreach (DirectoryInfo di in dis)
  13. {
  14. Size += DirSize(di);
  15. }
  16. return (Size);
  17. }
Листинг программы
  1. public static void Test()
  2. {
  3. DirectoryInfo d = new DirectoryInfo(@"C:\Users\" + user_Windows + @"\AppData\Local\Microsoft\Windows\INetCache\Low");
  4. long dsize = DirSize(d);
  5. MessageBox.Show(dsize.ToString());
  6. }
Как можнр решить данную проблему? Спасибо.

Решение задачи: «Отказано в доступе по пути к папке»

textual
Листинг программы
  1. public static long DirSize(DirectoryInfo d)
  2.         {
  3.             long Size = 0;
  4.             // Add file sizes.
  5.             FileInfo[] fis;
  6.             try { fis = d.GetFiles(); }
  7.             catch { return 0; }
  8.  
  9.             long fileSize = (from file in fis select (long)fis.Length).Sum();
  10.             long subdirSize = (from dir in d.GetDirectories() select DirSize(dir)).Sum();
  11.            
  12.             return fileSize + subdirSize;
  13.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы