|
|
|
|
@ -29,6 +29,7 @@ import java.nio.file.Files;
|
|
|
|
|
import java.nio.file.Path;
|
|
|
|
|
import java.nio.file.attribute.BasicFileAttributes;
|
|
|
|
|
import java.time.*;
|
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Iterator;
|
|
|
|
|
@ -72,12 +73,12 @@ public class CronTab {
|
|
|
|
|
File dir = new File(configProperties.getSavePath().getMediaPath());
|
|
|
|
|
long space = dir.getFreeSpace() / gByte;
|
|
|
|
|
log.info(" free space :{}",space);
|
|
|
|
|
if(space > 150){
|
|
|
|
|
if(space > 350){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
deleteOldFiles(dir,configProperties.getDeleteFileDays());
|
|
|
|
|
File dir2 = new File(configProperties.getSavePath().getMp4Path());
|
|
|
|
|
deleteOldFiles(dir2,configProperties.getDeleteFileDays());
|
|
|
|
|
deleteOldFoldersByName(dir2,configProperties.getDeleteFileDays());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void putTime(Integer streetId){
|
|
|
|
|
@ -170,6 +171,46 @@ public class CronTab {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void deleteOldFoldersByName(File parentDir, int days) {
|
|
|
|
|
if (!parentDir.exists() || !parentDir.isDirectory()) {
|
|
|
|
|
System.out.println("指定的路径不是一个有效的目录: " + parentDir.getName());
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
File[] folders = parentDir.listFiles(File::isDirectory);
|
|
|
|
|
if (folders != null) {
|
|
|
|
|
for (File folder : folders) {
|
|
|
|
|
String folderName = folder.getName();
|
|
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/M/d");
|
|
|
|
|
try {
|
|
|
|
|
LocalDate folderDate = LocalDate.parse(folderName, formatter);
|
|
|
|
|
LocalDate now = LocalDate.now();
|
|
|
|
|
long daysBetween = ChronoUnit.DAYS.between(folderDate, now);
|
|
|
|
|
if (daysBetween > days) {
|
|
|
|
|
deleteFolder(folder);
|
|
|
|
|
log.info("删除文件夹: {}", folder.getPath());
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.warn("无法解析文件夹名称: {}", folderName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void deleteFolder(File folder) {
|
|
|
|
|
File[] files = folder.listFiles();
|
|
|
|
|
if (files != null) {
|
|
|
|
|
for (File file : files) {
|
|
|
|
|
if (file.isDirectory()) {
|
|
|
|
|
deleteFolder(file);
|
|
|
|
|
} else {
|
|
|
|
|
file.delete();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
folder.delete();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void deleteOldFiles( File folder,int days) {
|
|
|
|
|
if (!folder.exists() || !folder.isDirectory()) {
|
|
|
|
|
System.out.println("指定的路径不是一个有效的文件夹: " + folder.getName());
|
|
|
|
|
|