import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.*;
import java.util.Map;
public class DelteFile {
public static void main(String[] args){
String path =System.getProperty("user.dir");
long lastExecDate = 0l;
long intDiv = 1000*60*60*24;
while(true){
try {
//得到当前时间
Date d = new Date();
long nowDate = d.getTime();
System.out.println(nowDate - lastExecDate);
if ((nowDate - lastExecDate) > intDiv)
{
//如果比起上次执行超过一天了
//判断文件的修改时间,是否包括前三天的,且文件大小 大于零!
File dic = new File(path);
File[] files = dic.listFiles();//得到所有的文件名字
int okfilecount = 0;
ArrayList al = new ArrayList();
//按时间排序
long okFile[] = new long[3];
File minFile = null;
//找三个日期最大的文件.
for (int j=0; j < 3 ; j++ )
{
int indexFile = -1; //保存文件的序号
long lFileTime =0l;
for (int i=0;i<files.length ;i++ )
{
if (files[i] != null )
{
if (files[i].isFile())
{
if (files[i].getName().indexOf("dmp") > 1)
{
long lNowFileTime = (new Date(files[i].lastModified())).getTime();
if (lNowFileTime > lFileTime && files[i].length() > 10 )
{
minFile = files[i];
lFileTime = lNowFileTime;
indexFile = i;
}
}
else
{
System.out.println("保留:" + files[i].getName());
files[i] = null;
}
}
}
}
if (indexFile != -1)
{
System.out.println("保留:" + files[indexFile].getName());
files[indexFile] = null;
}
}
for (int i=0;i<files.length ;i++ )
{
if (files[i] != null && files[i].isFile())
{
//删除文件
System.out.println("删除文件" + files[i].getName());
files[i].delete();
}
}
//更新本次删除文件的时间
lastExecDate = nowDate;
}//if 时间超过1天了
try
{
Thread.sleep(30000);
}
catch (Exception e) {
e.printStackTrace();
}
}
catch (Exception e) {
e.printStackTrace();
return;
}
}// 死循环体
}
}