![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
koreyko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 20.4.2010 Репутация: нет Всего: нет |
Здравствуйте! Помогите решать задачу:
Приложение по таймеру обращается к серверу, получает новые данные и записывает их во внешний файл. Бывает ситуация, когда с внешним файлом работает другая программа. В этом случае необходимо с заданной периодичностью пытаться записать данные. Сделал так:
В случае недоступности файла, куда необходимо записать данные, я, естественно, получаю исключение FileNotFoundException, которое прерывает цикл. Мне же необходимо, чтобы попытки записи продолжались, несмотря на исключения. Спасибо. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Окружи saveData() try/catch блоком.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
koreyko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 20.4.2010 Репутация: нет Всего: нет |
Спасибо, помогло!
Остался вопрос по приведенному мной выше коду. На время работы цикла GUI перестает реагировать на действия пользователя. Насколько я понимаю, проблема в этом:
однако не разобрался - этот Thread останавливает текущий поток (т.е. SwingWorker) или какой-то другой? Другими словами, мне поможет уход от SwingWorker к чему-то другому или же Thread.sleep(sleepTime) здесь в любом случае не стоит применять? Спасибо. Это сообщение отредактировал(а) koreyko - 12.12.2011, 23:01 |
|||
|
||||
Mirkes |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 586 Регистрация: 18.8.2011 Где: Красноярск Репутация: 7 Всего: 17 |
Вопрос с задержками обсуждался многократно. Посмотрите на форуме. В кратце. Если Ваш цикл выполняется в EDT (в потоке событий) то sleep применять не стоит, поскольку он всегда будет останавливать GUI. события таймера swing идут в потоке событий.
-------------------- Mirkes |
|||
|
||||
Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: 6 Всего: 16 |
http://www.skipy.ru/technics/gui_sync.html |
|||
|
||||
koreyko |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 20.4.2010 Репутация: нет Всего: нет |
Всем спасибо, вроде бы разобрался.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |