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

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 实现思想: 1、配置一个ServletContextListener监听器 2、在监听器上配置一个定时器,用来执行定时任务 3、在任务管理器配置任务 实现代码: Listener监听器类: package com.chinacreator.report.listen

欢迎进入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]

test.jsp?url=http%3A%2F%2Fwww.chinaitlab.com%2Fcms%2Fimages%2Flogo14.gif&refer=http%3A%2F%2Fjava.chinaitlab.com%2Fbase%2F948070.html