直接上代码
package com.module.utilities;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.attribute.BasicFileAttributes;
import java.time.Duration;
import java.time.Instant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import config.FilePath;
public class ClearFileTemp {
Logger logger;
public ClearFileTemp() {
this.logger = LoggerFactory.getLogger(ClearFileTemp.class);
}
public void clear() {
Instant nowInstant = Instant.now();
String path = FilePath.getPath(FilePath.FILE_TEMP);
File dirFile = new File(path);
File[] fileListFiles = dirFile.listFiles();
if (null == fileListFiles) {
} else {
for (File file : fileListFiles) {
if (file.isDirectory()) {
continue;
}
BasicFileAttributes attributes = null;
try {
attributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class);
} catch (IOException e) {
e.printStackTrace();
}
if (null == attributes)
continue;
Instant instant = attributes.lastModifiedTime().toInstant();
Duration duration = Duration.between(instant, nowInstant);
Long daysLong = duration.toDays();
if (daysLong > 3) {// 清理超过3天的临时文件
logger.info("删除临时文件{}", file.toString());
file.delete();// 删除
}
}
}
}
}