指定周几,几点对某文件进行删除
来源:互联网 发布:拓扑图制作软件 mac 编辑:程序博客网 时间:2024/06/08 16:09
package com.hotvision.web.servlet;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServlet;
import com.hotvision.utils.PropertiesUtil;
public class ElevatorServlet extends HttpServlet implements ServletContextListener,Runnable {
/**
*
*/
private static final long serialVersionUID = 1L;
private final int ELEVATORSTARTDAY= 6;//指定星期几
private final String ELEVATORSTARTIME = "00:05";
private static ExecutorService executorService= Executors.newFixedThreadPool(10);
//服务器停止的时候执行
@Override
public void contextDestroyed(ServletContextEvent arg0) {
deleteOutFile();
}
//服务器启动的时候执行
@Override
public void contextInitialized(ServletContextEvent arg0) {
start();
}
private void start(){
executorService.submit(this);
}
//删除目录
public static boolean deleteAllFile(String folderFullPath){
boolean ret = false;
File file = new File(folderFullPath);
if(file.exists()){
if(file.isDirectory()){
File[] fileList = file.listFiles();
for (int i = 0; i < fileList.length; i++) {
String filePath = fileList[i].getPath();
deleteAllFile(filePath);
}
}
if(file.isFile()){
file.delete();
}
}
return ret;
}
//删除文件夹下的所有空文件夹,注意必须是空文件夹,该方法可能一次不能全部删除,需在调用时多次执行
public static boolean deleteAllFullFolder(String folderFullPath){
boolean ret = false;
File file = new File(folderFullPath);
if(file.exists()){
File[] fileList=file.listFiles();
if(fileList.length>0){
for(int i=0;i<fileList.length;i++){
String filePath = fileList[i].getPath();
deleteAllFullFolder(filePath);
}
}else{
file.delete();
}
}
return ret;
}
////删除目录
private static void deleteOutFile(){
deleteAllFile(getSiteEnvValue());
File file=new File(getSiteEnvValue());
if(file.exists()){
while(!file.delete()){
deleteAllFullFolder(getSiteEnvValue());
}
}
}
private static String getSiteEnvValue(){
return PropertiesUtil.getSiteEnvValue("deleteOutFile");
}
public static int getWeek(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_WEEK);
}
public static String getCurrentDate(String format) {
return (new SimpleDateFormat(format)).format(new Date());
}
//当前星期几
private int getWeekDayString(){
String weekString = "";
final String dayNames[] = {"7","1","2","3","4","5","6"};
Calendar calendar = Calendar.getInstance();
Date date = new Date();
calendar.setTime(date); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
weekString = dayNames[dayOfWeek - 1];
return Integer.parseInt(weekString);
}
@Override
public void run() {
while(true){
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (ELEVATORSTARTDAY == getWeekDayString() && ELEVATORSTARTIME.compareTo(getCurrentDate("HH:mm")) > 0) {
deleteOutFile();
}
}
}
}
web.xml监听:
<listener>
<listener-class>com.hotvision.web.servlet.ElevatorServlet</listener-class>
</listener>
- 指定周几,几点对某文件进行删除
- 讲述几点对程序进行效率优化的方法
- 文件存储与误删除恢复的几点建议
- 对软件工程师几点建议
- 对任意指定点进行缓冲
- C#/.NET中删除指定文件夹下所有文件和文件夹的几种方法汇总
- 我对同学的几点建议
- [转贴]对大学生活几点看法
- 对电子邮件营销的几点建议
- 个人对计算机的几点认识
- [转]对大学生活几点看法
- [转]对大学生活几点看法
- 对CSDN不得不说的几点建议
- [转]对大学生活几点看法
- 对大学的几点看法
- 对软件工程的几点思考
- 对初学者的几点建议
- 俺对Hibernate的几点思考:
- 用Jcs缓存机制创建更快的Web应用
- void* shu_zu_ming[n][m] 传参的函数定义写法 【C++】
- ubuntu-Apache2: Could not reliably determine the server’s fully qualified domain name
- vim 大小写转换
- C#图片尺寸转换函数
- 指定周几,几点对某文件进行删除
- linux进程间通信
- spring事务
- 警告NameVirtualHost *:80 has no VirtualHosts的原因
- 【OpenCV入门指南】第四篇 图像的二值化
- (先序遍历 后序遍历 中序遍历)三选二构造树
- 学会总结,学会关注细节,学会拥有一颗平静的心。
- Python 学习日记(1)-python 环境搭建
- 【OpenCV入门指南】第三篇Canny边缘检测