直接上代码
···
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class BackupCheck {
public static void main(String[] args) {
// TODO Auto-generated method stub
File diskPartition = new File("E:");
long frees=diskPartition.getFreeSpace();
//剩余空间小于5G
if ((frees/(1024*1024*1024))<5) {
List<FileInfo> fs = getFiles("E:\\backup");
for (int i=1;i<fs.size();i++) {
fs.get(i).file.delete();
}
}
}
static public List<FileInfo> getFiles(String dir) {
File file = new File(dir);
File[] fileList = file.listFiles();
List<FileInfo> fis=new ArrayList<FileInfo>();
for (int i=0;i<fileList.length;i++) {
String fn=fileList[i].getName();
Long ed=fileList[i].lastModified();
//System.out.println(fn+ed);
if (fileList[i].isFile()) {
FileInfo fi=new FileInfo();
//fi.add(fileList[i]);
fi.fn=fn;
fi.editDate=ed;
fi.file=fileList[i];
fis.add(fi);
//System.out.println(fn);
}
}
//排序留下最新的备份
Collections.sort(fis,new Comparator<FileInfo>() {
@Override
public int compare(FileInfo arg0, FileInfo arg1) {
// TODO Auto-generated method stub
if (arg0.editDate>arg1.editDate) {
return -1;
}
return 1;
}
});
//最新文件
System.out.println(fis.get(0).fn);
return fis;
}
static public class FileInfo{
public String fn;
public Long editDate;
public File file;
}
}
···