Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Рекурсия / 2 сообщений из 2, страница 1 из 1
16.08.2016, 18:39
    #39292821
Anton19
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсия
Написал метод подсчета файлов на диске. Использовал рекурсию. Ищет не все файлы. С сервера приходит ответ,что все таки нет доступа к папкам некоторым(что естественно!!). Может код не правильный!Что подправить?И как все таки найти количество файлов? Код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
public static int GetAllF(string sDir)
        {
            int a = 0;
            foreach (string dir in Directory.GetDirectories(sDir))
            {
                try
                {
                    foreach (string file in Directory.GetFiles(dir, ".", SearchOption.AllDirectories))
                    {
                        
                      a = file.Count();
                       
                    }
                    GetAllF(dir);
                }
                catch (UnauthorizedAccessException)
                {

                }
                
            }
            return a;
        }
...
Рейтинг: 0 / 0
16.08.2016, 18:49
    #39292825
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсия
Anton19,
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
using System;
using System.IO;
static class Program
{
    static void Main()
    {
        string path = ""; // TODO
        ApplyAllFiles(path, ProcessFile);
    }
    static void ProcessFile(string path) {/* ... */}
    static void ApplyAllFiles(string folder, Action<string> fileAction)
    {
        foreach (string file in Directory.GetFiles(folder))
        {
            fileAction(file);
        }
        foreach (string subDir in Directory.GetDirectories(folder))
        {
            try
            {
                ApplyAllFiles(subDir, fileAction);
            }
            catch
            {
                // swallow, log, whatever
            }
        }
    }
}
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Рекурсия / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]