Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# .NET

Войти
Регистрация
Восстановить пароль
 
DmitryStark
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 22
#1

Игнорирование файлов, к которым нет доступа - C#

26.02.2015, 20:42. Просмотров 276. Ответов 3
Метки нет (Все метки)

C#
1
2
3
4
5
6
7
8
9
10
public static IEnumerable<FileData> EnumerateAllFiles(DirectoryInfo directoryInfo, Random random)
{
            var listOfFiles = directoryInfo.GetFiles();
            var listOfDirectories = directoryInfo.GetDirectories();
            foreach (var file in listOfFiles)
                yield return new FileData { Size = file.Length, FileExtension = file.Extension };
            foreach (var dir in listOfDirectories)
                foreach (var inf in EnumerateAllFiles(dir, random))
                    yield return inf;
}
Есть сей код. Необходимо создать последовательность из данных о файлах (размер, расширение) в директории и ее поддиректориях. Проблема в том, что для доступа к некоторым файлам необходимы права. Как можно это обойти? Из условия задачи такие файлы можно просто пропустить.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2015, 20:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игнорирование файлов, к которым нет доступа (C#):

Игнорирование файлов. - C#
При запуске внешних приложений через Process, игнорируются принадлежащие этому приложению файлы(конфиги)... Думал что надо указать...

Убить процесс к которому нет доступа - C#
Есть острая вырубать одну программу, которая работает на основе вируса. Нужно как-то убить эту программу. Планирую это делать в таймере...

.NET 4.x Нужно остановить таймер, к переменной которого нет доступа - C#
Всем привет. Пишу игрушку. Есть поле с шариками. Если кликают мышкой по полю, то шарик начинает прыгать. Вот код: static class...

Защита файлов от несанкционированного доступа - C#
Добрый вечер! C# изучаю не так давно. В институте поставили задачу, написать графическую программу, которая бы могла защищать файлы...

Remoting, удаленный вызов Events: Нет доступа к свойствам и методам объектов - C#
При использовании (.NET Remoting) Singleton-объектов (которые совместно используют данные), доступ к свойствам и методам объектов у меня...

.NET 4.x Получения всех файлов в папке и подпапках игнорируя ошибку с правами доступа - C#
К слову сам вопрос. Как получить все файлы в папке и подпапках игнорирую ошибку с правами доступа или любую другую

3
Psilon
Master of Orion
Эксперт .NET
5908 / 4805 / 634
Регистрация: 10.07.2011
Сообщений: 14,407
Записей в блоге: 5
Завершенные тесты: 4
27.02.2015, 01:43 #2
DmitryStark, пустой трай кетч конечно же.
0
DmitryStark
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 22
27.02.2015, 18:09  [ТС] #3
Пробовал, не вышло. Не совсем понимаю, как он работает. Как я понял, если отловлено исключение, то выполнится кетч. Хотелось бы наоборот

Добавлено через 11 часов 59 минут
Да и к тому же yield return невозможен внутри try
0
Psilon
Master of Orion
Эксперт .NET
5908 / 4805 / 634
Регистрация: 10.07.2011
Сообщений: 14,407
Записей в блоге: 5
Завершенные тесты: 4
27.02.2015, 20:03 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        public static IEnumerable<FileInfo> EnumerateAllFiles(DirectoryInfo directoryInfo)
        {
            FileInfo[] listOfFiles;
            try
            {
                listOfFiles = directoryInfo.GetFiles();
            }
            catch (UnauthorizedAccessException)
            {
                yield break;
            }
            var listOfDirectories = directoryInfo.GetDirectories();
            foreach (var file in listOfFiles)
                yield return file;
            foreach (var dir in listOfDirectories)
                foreach (var inf in EnumerateAllFiles(dir))
                    yield return inf;
        }
1
27.02.2015, 20:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2015, 20:03
Привет! Вот еще темы с ответами:

Нет доступа к бд: Cannot open database requested by the login - C#
Cannot open database requested by the login. Как исправить через Visual studio?

Нет доступа к данным в SqlDataReader после закрытия соединения - C#
доброго времени суток, пытаюсь написать метод, который будет выполнять запрос, потом возвращать данные по которым можно пробежаться и...

Игнорирование файлов, к которым нет доступа - C#
Доброго времени суток. Возник вопрос: появилась необходимость получить директории и файлы в них, делаю так: private static void...

Исключить из поиска папки, доступа к которым нет - Visual Basic .NET
Несколько дней ищу способ обойти папки &quot;Только для чтения&quot;, скрытые, системные, т.е. те о которых спотыкается программа при поиске всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru