Постановка задачи: у меня есть класс с таймером.
class DeleteTimer {
private Timer timer = new Timer();
private static Timer timerStatic;
public DeleteTimer(Member uid, String serverFilePath, String deleteTime) {
}
public static void start() {
timerStatic.schedule(new TimerTask() {
public void run() {
deleteFolder();
try {
timerStatic.cancel();
} catch (Exception e) {
e.printStackTrace();
}
}
private void deleteFolder() {
//delete a folder
return true;
}
}, 10000);
}
}
У меня есть программа, которая создает некоторые папки, и я хочу, чтобы эти папки были удалены автоматически через некоторое время. имена папок не фиксированы, и поэтому каждый раз, когда я вызываю этот класс, я создаю для него новый объект.
DeleteTimer obj = new DeleteTimer();
obj.start();
Это отлично работает с первой попытки, но выдает java.lang.IllegalStateException: Timer already cancelled
, когда я пытаюсь запустить его, используя новый объект. Пожалуйста, помогите.