Настроить цикличный запуск

290
26 января 2017, 01:45

Доброго времени суток.
Есть код:

package ru.copy;
public class workProgram {
    public static void main(String[] args) throws IOException {
//МОЙ код для копирования данных
 }
}

Моя программа копирует файлы из одной папки в другую. Дело в том, что в папку исходник будут периодически заливаться файлы, происходить это будет на протяжении 15-20 часов и нужно перекопировать ВСЕ файлы. Помимо того эти файлы в папке исходнике будут находится там 1 час, а затем удаляться(потому и нужно их от туда скопировать).

Как сделать постоянное выполнение кода и процедуру отключения?

Самое простое сделать вечный цикл:

public class workProgram {
    public static void main(String[] args) throws IOException {
int a = 1;
while (true) {
//МОЙ код для копирования данных
             }
 }
}

Тогда программа уходит в вечный цикл, работает и файлы копируются. Но как сделать корректную остановку такого кода? Да и нет более аккуратного решения?

Да, пробовал запуск по интервалам времени:

   Timer timer = new Timer();
   TimerTask timerTask = new TimerTask() {
    public void run() {
       //мой код
    }
   };
  timer.schedule(timerTask, 5000, 10000);
  //первое число - когда он запуститься, второе - через сколько будет повторяться

Это некорректно, т.к. процедура может не успеть завершиться к нужному времени и запустится отдельный поток, что может привести к ошибке, да и опять же - как стопить такое?

P.S. наверное, по моей стилистике написания вы поняли, что я начинающий, потому очень прошу давать развёрнутые ответы с комментариями(я старался максимально понятно задать вопрос).

READ ALSO
Удалить линию Line2D двойным кликом мышки (Java | JFrame)

Удалить линию Line2D двойным кликом мышки (Java | JFrame)

Добрый день! Хочу удалить нарисованную линию двойным кликом мышкиПри навведении на линию, курсор не меняется на крест

374
Отправка фото/картинок в чате

Отправка фото/картинок в чате

Всем доброго дня! Нужно реализовать функцию отправки фото в чате посредством wifi direct, пытаюсь сделать это на протяжении нескольких недель,...

299
Как получить координаты X/Y группы в ExpandableListView

Как получить координаты X/Y группы в ExpandableListView

Необходимо нарисовать прямую линию от TextView до последнего элемента группыкоординаты вью элемента выводят 0

331