tomcat启动时执行init()
import java.io.File;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import org.apache.log4j.Logger;
/**
* 删除资源导出的excel文件
*
* @author shiyufeng
* @ClassDescription
* @date Jun 15, 2017
*/
public class DeleteExportFile extends TimerTask {
private static final Logger logger = Logger
.getLogger(DeleteExportFile.class);
/**
* 要删除的文件路径
*/
private String path;
public DeleteExportFile(String path) {
super();
this.path = path;
}
public void init() {
// 获取当前日期的零点零分
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat datef = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
String dstr = datef.format(cal.getTime()) + " 00:00:00";
long period = 1000 * 60 * 60 * 24;
try {
Date date = sdf.parse(dstr);
Timer timer = new Timer();
// 放入定时任务
timer.schedule(new DeleteExportFile(path), date, period);
} catch (ParseException e) {
e.printStackTrace();
}
}
@Override
public void run() {
logger.info("定时删除导出资源信息时生成的文件。。。。");
delFolder(path);
}
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); // 删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); // 删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}
// 删除指定文件夹下所有文件
// param path 文件夹完整绝对路径
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);// 再删除空文件夹
flag = true;
}
}
return flag;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
}