Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
 Аватар для Рауко
2 / 2 / 0
Регистрация: 29.08.2015
Сообщений: 64

Поиск файлов определенного расширения на диске

20.09.2015, 20:11. Показов 5670. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
небольшая предыстория проблемы: пытаюсь в качестве первого проекта реализовать немного урезанный файл-менеджер, который будет искать мультимедийные файлы на диске.
- оконные формы - реализовала;
- поиск дисков - реализовала;
- поиск файлов - не получается; (!)
- загнать в таблицу - пока под вопросом, но вроде должно работать.(!)

собственно, тут я за тем самым поиском файлов. пока имею вот такой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static Vector<File> searching(File f) {
    // Каталог, в котором осуществляется поиск
    String DIR_NAME = "" + f;
         
    // Расширение файлов, которые необходимо удалить
    String[] extension = {".mp4", ".mp3", ".avi", ".mkv", ".ogm", ".flac"};
    Vector<File> result = new Vector<File>();
    
    for(String ext: extension){
            File dir = new File(DIR_NAME);
             
        // вот начиная с этого места - не знаю
    }
        return result;
}
главная для меня непонятка - как определить расширение файла и как выполняется "гуляние" внутри каталога и переход между каталогов.
можно ли это загнать в разные потоки? как это сделать, если это реализуемо?
как узнать размер найденного файла?

ну и вопросик бонусом - можно ли у JTable создать в ячейке JButton? как в кнопку тогда засунуть вызов файла? (открыть стандартными средствами)

по поводу перехода внутри каталогов - полагаю, понадобится рекурсия, но не слишком ли она замедлит работу системы?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2015, 20:11
Ответы с готовыми решениями:

Поиск файлов определенного расширения на диске
Пытаюсь создать небольшую программу но не выходит ее реализовать, ее суть вот в чем. Есть програмная оболочка разработанная у Visual...

Поиск файлов определенного расширения
Доброго времени суток. Есть такая проблема. Надо найти в каталоге (его вводит пользователь и этот момент у меня есть) все файлы...

Замена файлов определенного расширения
Вообщем, хочу сделать одну программу, которая будет заменять все файлы на компьютере с расширением .png, .jpg .jpeg на компе на...

2
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768
20.09.2015, 21:01
Поиск файлов без рекурсии.
Так же фильтрацию можно применить используя перегруженные версии 'listFiles', принимающие на вход реализации интерфейсов 'FileFilter' или 'FilenameFilter'.

Java
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
    private static List<String> searching(File rootDir) {
        List<String> result = new ArrayList<>();
 
        LinkedList<File> dirList = new LinkedList<>();
        if (rootDir.isDirectory()) {
            dirList.addLast(rootDir);
        }
 
        while (dirList.size() > 0) {
            File[] filesList = dirList.getFirst().listFiles();
            if (filesList != null) {
                for (File path : filesList) {
                    if (path.isDirectory()) {
                        dirList.addLast(path);
                    } else {
                        String simpleFileName = path.getName();
 
                        if (simpleFileName.endsWith(".java")) {
                            result.add(path.getAbsolutePath().toString());
                        }
                    }
                }
            }
            dirList.removeFirst();
        }
        return result;
    }
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
22.09.2015, 10:21
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
java.nio.file.Files.walkFileTree(
    java.nio.file.Paths.get("."),
    new java.nio.file.SimpleFileVisitor<Path>() {
        @Override
        public FileVisitResult visitFile(
            final Path aFile,
            final BasicFileAttributes aAttrs
        ) throws IOException {
            System.out.println("Processing file:" + aFile);
            return FileVisitResult.CONTINUE;
        }
 
        @Override
        public FileVisitResult preVisitDirectory(
            final Path aDir,
            final BasicFileAttributes aAttrs
        ) throws IOException {
            System.out.println("Processing directory:" + aDir);
            return FileVisitResult.CONTINUE;
        }
    }
);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.09.2015, 10:21
Помогаю со студенческими работами здесь

Удаление файлов определенного расширения
люди помогите доделать прогу,очень срочно... нужно зделать что бы она сначала искала,а потом предлагала удалить файл,файлы *.bat...

Удаление файлов определенного расширения
У меня есть файл File.tx в нем написаны данные, мне нужно удалить определенную строчку или букву, как мне это сделать?

Удаление файлов определенного расширения
Всем привет. Есть задание, которые необходимо сделать, но никак не получается) Программа должна обрабатывать аргументы командной строки,...

Смена атрибутов файлов определенного расширения
Разработать пакетный файл для смены атрибутов файлов определенного расширения. Выбор атрибутов через меню, расширения – в командной строке ...

Вывести содержимое файлов определённого расширения на сервере
вывести содержимое файлов на сервере определённого расширения было где то щас найти не могу , как отоброжать содержимое каталога только...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 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-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru