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

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

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

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

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

textual
Листинг программы
public static long DirSize(DirectoryInfo d)
        {
            long Size = 0;
            // Add file sizes.
            FileInfo[] fis;
            try { fis = d.GetFiles(); }
            catch { return 0; }
 
            long fileSize = (from file in fis select (long)fis.Length).Sum();
            long subdirSize = (from dir in d.GetDirectories() select DirSize(dir)).Sum();
            
            return fileSize + subdirSize;
        }

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


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

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

6   голосов , оценка 3.833 из 5
Похожие ответы