我尝试过如何根据 n 天保留文件。这是这样做的逻辑。
public static void purgeFiles(int daysToRetain, String directory){
File backupDir = new File(directory);
long purgeTime = System.currentTimeMillis() - (daysToRetain * 24L * 60L * 60L * 1000L);
if(backupDir.exists()){
File[] listOfBackupFiles = backupDir.listFiles();
for(File backupFile : listOfBackupFiles){
if(backupFile.lastModified() < purgeTime){
if(backupFile.isFile()){
System.out.println(backupFile.getName()+" is going to delete");
backupFile.delete();
}
}
}
}
}
这里我有一个疑问,如何在一个目录中保留最新的 10 个文件。文件创建日期和时间不同。
创建文件没有固定的时间。文件不会每天或每周或每月创建。一个文件将在 2 天内创建,其他文件将在 5 天内创建。
所以,我想保留最新的 10 个文件。