java监听器定时删除服务器上的文件

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  实现思想:

  1、配置一个ServletContextListener监听器

  2、在监听器上配置一个定时器,用来执行定时任务

  3、在任务管理器配置任务

  实现代码:

  Listener监听器类:

  package com.chinacreator.report.listener;

  import java.util.Calendar;

  import java.util.Date;

  import java.util.Timer;

  import java.util.TimerTask;

  import javax.servlet.ServletContext;

  import javax.servlet.ServletContextEvent;

  import javax.servlet.ServletContextListener;

  import com.chinacreator.report.thread.ExcelTempFileManager;

  /**

  * 时间监听器

  *

  * @author xiaoqun.yi

  */

  public class ExcelTempFileListener implements ServletContextListener {

  private Timer timer = new Timer();

  public static ServletContext servletContext;

  public void contextInitialized(ServletContextEvent sce) {

  this.servletContext = sce.getServletContext();

  try {

  // 第一个参数是要运行的代码,第二个参数是从什么时候开始运行,第三个参数是每隔多久在运行一次。

  // timer.schedule(new SystemTaskTest(),0,(5*1000));

  sce.getServletContext().log(“定时器已启动”);

  // 设置在每晚24:0分执行任务

  Calendar calendar = Calendar.getInstance();

  calendar.set(Calendar.HOUR_OF_DAY, 24); // 24 ,可以更改时间

  calendar.set(Calendar.MINUTE, 0); // 0可以更改分数

  calendar.set(Calendar.SECOND, 0);// 0 //默认为0,不以秒计

  Date date = calendar.getTime();

  // 监听器获取网站的根目录

  String path = sce.getServletContext().getRealPath(“/”);

  // 第一个参数 是要运行的代码,第二个参数是指定的时间

  timer.schedule(new SystemTaskTest(path), date);

  sce.getServletContext().log(“已经添加任务调度表”);

  } catch (Exception e) {

  }

  }

  public void contextDestroyed(ServletContextEvent sce) {

  try {

  timer.cancel();

  } catch (Exception e) {

  }

  }

  }

  /**

  * 时间任务器

  *

  * @author xiaoqun.yi

  */

  class SystemTaskTest extends TimerTask {

  private String path;

  public SystemTaskTest(String path) {

  this.path = path;

  }

  /**

[1][2]

文画音,看似耳目所为,其实是内心世界的感受。

java监听器定时删除服务器上的文件

相关文章:

你感兴趣的文章:

标签云: