定时删除文件
2016-12-29 09:29
405 查看
第一步:定义一个类,实现timerTask接口
package com.waysoft.modules.business.file.client.download.service;
import java.io.File;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TimeCleaningFile extends TimerTask {
private String file_path = null;
public TimeCleaningFile(String file_path){
this.file_path = file_path;
}
// 递归删除文件
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
// 递归删除目录中的子目录下
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// 目录此时为空,可以删除
return dir.delete();
}
private Timer timer = new Timer();
public void start() {
// 每隔5小时删除一次
timer.scheduleAtFixedRate(this, new Date(), 1000 * 60 * 60 * 5);
}
public void run() {
System.out.println("-----------------开始监听-----------------");
deleteDir(new File(file_path));
System.out.println("-----------------监听结束-----------------");
}
}
第二步:创建监听器,在contextInitialized里写入功能方法
public final class WebContextListener implements ServletContextListener{
public void contextInitialized(ServletContextEvent sce) {
// 监听删除临时文件
new TimeCleaningFile(SystemConfig.getProjectPath() + "//temp").start();
}
}
第三步:在web.xml中配置监听器
<listener>
<listener-class>
com.waysoft.global.listener.WebContextListener
</listener-class>
</listener>
package com.waysoft.modules.business.file.client.download.service;
import java.io.File;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TimeCleaningFile extends TimerTask {
private String file_path = null;
public TimeCleaningFile(String file_path){
this.file_path = file_path;
}
// 递归删除文件
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
// 递归删除目录中的子目录下
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// 目录此时为空,可以删除
return dir.delete();
}
private Timer timer = new Timer();
public void start() {
// 每隔5小时删除一次
timer.scheduleAtFixedRate(this, new Date(), 1000 * 60 * 60 * 5);
}
public void run() {
System.out.println("-----------------开始监听-----------------");
deleteDir(new File(file_path));
System.out.println("-----------------监听结束-----------------");
}
}
第二步:创建监听器,在contextInitialized里写入功能方法
public final class WebContextListener implements ServletContextListener{
public void contextInitialized(ServletContextEvent sce) {
// 监听删除临时文件
new TimeCleaningFile(SystemConfig.getProjectPath() + "//temp").start();
}
}
第三步:在web.xml中配置监听器
<listener>
<listener-class>
com.waysoft.global.listener.WebContextListener
</listener-class>
</listener>
相关文章推荐
- centos6.4下定时通过ftp获取数据库服务器上的文件并且删除远程目录里面的文件
- 让linux每天定时备份MySQL数据库并删除五天前的备份文件
- Linux下定时删除过期文件的方法
- 定时删除文件
- 定时器的简单应用(二)——定时删除缓存文件
- 定时创建文件追加内容删除文件
- Linux 定时删除一个文件夹的文件
- 定时器-----每天定时删除临时文件
- php定时删除文件夹下文件(清理缓存文件)
- 【原创】Ubuntu中定时删除指定日期之前的文件
- Java 定时删除文件
- 文件、目录备份及定时自动删除
- 定时删除历史文件的script
- Linux定时删除过期文件
- 定时删除服务器产生的临时文件
- 定时删除一个目录下的文件
- [摘抄]VBA的一些应用(U盘序列号作密码,定时删除文件等操作)
- 在Windows下利用PowerShell脚本定时删除过期文件
- 在Windows下利用PowerShell脚本定时删除过期文件
- 利用批处理定时删除文件