安排每天运行2次的任务

时间:2019-07-17 04:06:35

标签: java delete-file taskscheduler

我想开发一种工具,该工具每天两次删除文件夹中的所有文件-早上和晚上8:30。 它只能永久删除所有文件,而不能删除文件夹。

我的删除代码工作正常,但是我在安排时遇到问题。我不知道如何编写调度程序代码。任何人都可以通过正确的代码帮助我进行计划吗?

public class Delete 
{ 
    public static void main(String[] args) 
    { 
        try
        { 
            Files.deleteIfExists(Paths.get("C:\\Users\\Dekstop\\Dummy")); 
//I want to delete all Files not the Folder
        } 
        catch(NoSuchFileException e) 
        { 
            System.out.println("No such file/directory exists"); 
        } 
        catch(DirectoryNotEmptyException e) 
        { 
            System.out.println("Directory is not empty."); 
        } 
        catch(IOException e) 
        { 
            System.out.println("Invalid permissions."); 
        } 

        System.out.println("Deletion successful."); 
    } 
} 

2 个答案:

答案 0 :(得分:0)

进一步Original post

public class ExecuteTimer {
  public static void main(String[] args){
       MyTimer te1=new MyTimer("My_Task1");
       MyTimer te2=new MyTimer("My_Task2");
      Timer t=new Timer();
      t.scheduleAtFixedRate(te1, 0,5*1000);
      t.scheduleAtFixedRate(te2, 0,1000);
   }
}

MyTimer.class

public class MyTimer extends TimerTask{
private String timername ;
public MyTimer(String n){
  this.timername=n;
}
@Override
public void run() {
    System.out.println(Thread.currentThread().getName()+" "+name+" the task has executed successfully "+ new Date());
    if("Task1".equalsIgnoreCase(name)){
      try {
      Thread.sleep(10000);
      } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
}
}

答案 1 :(得分:0)

您可以使用Timer.schedule(TimerTask任务,日期为第一时间,很长一段时间)方法

将第一时间设置为早晨(任何时间)并将时间段设置为12小时即可完成工作。