排序算法 WIKI http://zh.wikipedia.org/zh/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95#.E6.8F.92.E5.85.A5.E6.8E.92.E5.BA.8F 排序删除文件代码: package file; import java.io.File; public class DeleteFile { public static void main(String[] args) { //保存日志的目录 File dbbakdir = new File("D://deleteFile//"); //取得目录下的所有文件 File[] dbbakfiles = dbbakdir.listFiles(); //如果文件大于10个才执行删除操作 if (dbbakfiles != null && dbbakfiles.length > 10) { //先对文件进行排序,按照修改时间排序,由远到近 插入法排序 for(int index=1;index<dbbakfiles.length;index++){ File key = dbbakfiles[index]; int position = index; //shift larger values to the right while(position>0&& dbbakfiles[position-1].lastModified() > key.lastModified()){ dbbakfiles[position] = dbbakfiles[position-1]; position--; } dbbakfiles[position]=key; } //排序结束 //删除前几个文件,保留10个 for (int i = 0; i < dbbakfiles.length - 10; i++) { if (dbbakfiles[i].isFile()) { dbbakfiles[i].delete(); } } } } }