Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319

Прервать выполнение метода

11.09.2016, 10:27. Показов 4875. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть метод выполняющий рекурсивный поиск файлов в директории. Если один такой файл найден надо прервать выполнение метода. Возможно ли это?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.09.2016, 10:27
Ответы с готовыми решениями:

Прервать выполнение конструкции без выхода из метода\цикла
Добрый день. Не могу понять как сделать следующее... int x = 0; while (x < 10){ x++; if (x == 5)break;//break выйдет...

Потоки. Как из одного потока вызвать выполнение метода в другом потоке
Необходимо 50 раз в секунду выполнять методы в двух параллельно работающих потоках синхронизировано. Для этого я создал третий поток -...

Прервать выполнение метода
Как прервать выполнение метода, если нет доступа к исходникам метода. Метод выполняется 1 мин, нужно его прервать через 30 сек. Прерывание...

12
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.09.2016, 10:28
Да.
0
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
11.09.2016, 10:59  [ТС]
xoraxax, Можно поинтересоваться как? очень интересно
0
31 / 31 / 12
Регистрация: 25.07.2015
Сообщений: 120
11.09.2016, 11:27
kozak95, пусть меня поправят, если я не прав, но возможно вам надо погуглить "break, continue, return". Для выхода из метода, одно из этих слов вам поможет.
0
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
11.09.2016, 11:31  [ТС]
striker24, Метод рекурсивный, это не поможет.
0
 Аватар для ninjacut
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
11.09.2016, 11:46
kozak95, значит неправильно метод написан. Найден файл, возвращаешь return-ом, не вижу почему должны быть проблемы из-за рекурсии.
0
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
11.09.2016, 11:59  [ТС]
После выполнение 'return true' метод не заканчивает работу.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public boolean checkCatalog(String path,Pattern p){
        File file = new File(path);
        File[] s = file.listFiles();
            for (int j = 0; j < s.length; j++) {
                if (s[j].isFile() && p.matcher(s[j].getName()).matches()) {
                    return true;
                }
                if (s[j].isDirectory()) {
                    checkCatalog(s[j].getPath(), p);
                }
            }
        
        return false;
    }
Добавлено через 7 минут
В результате вообще ничего не отобразится так как будет последним выполняться false. Можно конечно ввести счетчик и возвращать его из метода если != 0 то результат положительный - тогда метод работает корректно. Но я хочу прерывать полностью рекурсию, так как метод долговато работает (использую в android его).
0
 Аватар для ninjacut
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
11.09.2016, 12:03
Java
1
2
3
4
5
6
if (s[j].isDirectory()) {
  boolean result = checkCatalog(s[j].getPath(), p);
  if (result == true) {
    return true;
  }
}
1
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
11.09.2016, 12:18  [ТС]
Со скоростью конечно проблема осталась. Можно ли ускорить этот процес поиска?
0
 Аватар для ninjacut
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
11.09.2016, 12:44
kozak95, Можно сделать индексацию файлов.
0
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
11.09.2016, 12:48  [ТС]
ninjacut, Пример дать можете?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
11.09.2016, 12:49
в ApacheCommons FileUtils есть методы для поиска файлов по маске, в том числе и рекурсивно
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,780
11.09.2016, 21:23
Цитата Сообщение от Паблито Посмотреть сообщение
ApacheCommons FileUtils есть методы для поиска файлов по маске, в том числе и рекурсивно
Или стандартный java.nio, если не хочется лишних сторонних зависимостей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2016, 21:23
Помогаю со студенческими работами здесь

Как прервать выполнение тестового метода при отсутствии соединения с Интернет
В проекте с юнит-тестами (VS 2010) есть метод, который тестирует некую функцию. Но чтобы ее протестировать, нужно инет-подключение....

Прервать выполнение функции
Здраствуйте, надо прервать выполение функции так, что б func3 выполнилась, но дальше скрипт полностю пректатил свою работу. То есть строчка...

Прервать выполнение модуля
Как прервать выполнение модуля? Необходимо открыть новую форму Form2, прервав вычисления в Unit1 формы Form1. При этом старая форма Form1...

Прервать выполнение скрипта
Ребята, помогите, как прервать выполнение скрипта, надо аналог C++ return 0; Гуглил, но толкового ничего не нашёл :(

Прервать выполнение программы
Допустим идёт сортировка массива на 100000 элементов методом пузырек, идёт она достаточно долго и при этом программа зависает, можно ли как...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru