Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
44 / 41 / 35
Регистрация: 27.02.2013
Сообщений: 284

Получить информацию о файлах с расширением .jpg

12.02.2015, 00:01. Показов 1417. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо вывести информацию о файлах с расширением .jpg из каталога D.
C#
1
2
3
4
5
6
7
8
9
10
11
DirectoryInfo dir = new DirectoryInfo(@"D:\");
 
            FileInfo[] imageFiles = dir.GetFiles("*.jpg",SearchOption.AllDirectories);
 
            Console.WriteLine("Найдено {0} ",imageFiles.Length);
 
            foreach (FileInfo f in imageFiles)
            {                
                Console.WriteLine("Имя файла: "+f.Name);
                Console.WriteLine("Размер файла: "+f.Length);
            }
в 3-й строке получаю исключение UnauthorizedAccessExeption was unhandled.
Подскажите, что не так делаю
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2015, 00:01
Ответы с готовыми решениями:

Какая СУБД хранит данные в файлах с расширением .dat и индексы в файлах .k01, k02 и т.д.?
Какая СУБД хранит данные в файлах с расширением .dat и индексы в файлах .k01, k02 и т.д.? Есть ли возможность подключить эти таблицы в MS...

ID3v1 теги в mp3 файлах, получить всю информацию о треке
Hi! Вот решил реализовать "вытаскивание" технической информации из mp3 файла. public class MusicID3Tag класс для музыки { ...

Нужно получить информацию обо всех изменениях в файлах, происходяших между выбранными датами
На форме есть 2 DateTimePicker - start и end. Мне нужно получить информацию обо всех изменениях в файлах, происходяших между выбранными...

2
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
12.02.2015, 00:06
Цитата Сообщение от Lar4ik Посмотреть сообщение
в 3-й строке получаю исключение UnauthorizedAccessExeption was unhandled.
Ятд, к каким-то из файлов у вас нет доступа, только и всего.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,898
Записей в блоге: 1
12.02.2015, 01:58
Lar4ik, методы поиска файлов/каталогов в .NET "спотыкаются" на каталогах к которым у пользователя нет доступа. Проблемным каталогом скорее всего является скрытый каталог System Volume Information. Обойти это можно написав свой метод перебора файлов. Например такой:
метод SafeEnumerateFiles
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
private static IEnumerable<FileInfo> SafeEnumerateFiles(string path, string searchPattern, SearchOption searchOption)
{
    Stack<string> dirs = new Stack<string>();
    dirs.Push(path);
 
    while (dirs.Count > 0)
    {
        string currentDirPath = dirs.Pop();
        if (searchOption == SearchOption.AllDirectories)
        {
            try
            {
                string[] subDirs = Directory.GetDirectories(currentDirPath);
                foreach (string subDirPath in subDirs)
                {
                    dirs.Push(subDirPath);
                }
            }
            catch (UnauthorizedAccessException)
            {
                continue;
            }
            catch (DirectoryNotFoundException)
            {
                continue;
            }
        }
 
        string[] files = null;
        try
        {
            files = Directory.GetFiles(currentDirPath, searchPattern);
        }
        catch (UnauthorizedAccessException)
        {
            continue;
        }
        catch (DirectoryNotFoundException)
        {
            continue;
        }
 
        foreach (string filePath in files)
        {
            yield return new FileInfo(filePath);
        }
    }
}

Вызывать его будем так:
C#
1
2
3
4
5
6
7
8
FileInfo[] imageFiles = SafeEnumerateFiles(@"d:\", "*.jpg", SearchOption.AllDirectories)
                        .ToArray();
Console.WriteLine("Найдено {0} ",imageFiles.Length);
foreach (FileInfo f in imageFiles)
{                
    Console.WriteLine("Имя файла: "+f.Name);
    Console.WriteLine("Размер файла: "+f.Length);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2015, 01:58
Помогаю со студенческими работами здесь

Записать в файл список файлов с расширением jpg
Помогите пожалуйста!!! Сформировать текстовый файл, в котором указать названия файлов из папки X, с расширением .JPG, записать его на...

Поиск слова в файлах с расширением .С
Задача такова: пользователь вводит какое-то слово. Оно ищется в файлах с расширением .С и если слово есть вывести имя файла. Пробовал...

Вывести ссылки на все картинки с расширением jpg и gif из файла
Ребят, не в службу, а в дружбу. Нужна помощь. Мне нужно вывести ссылки на все картинки с расширением jpg и gif из файла. Я решила...

SFML - Картинки в файлах с неизвестным расширением
Всем привет! Часто вижу в файлах различных игр, что, например, текстуры от моделей хранятся в файлах .txd и прочее. Зачем? Есть ли смысл...

Поиск по словам в файлах с расширением *.mht
Здравствуйте! Подскажите, пожалуйста, как можно реализовать поиск по словам в нескольких файлах *.mht с последующим выводом этого...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru