只需要传入一个你需要删除的文件目录定时去跑下面的代码就可以删除文件路径下所有在一个月前创建的文件
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
public class FileCleaner {
public static void main(String[] args) {
Path path = Paths.get("你需要遍历的文件路径");
try {
Files.walk(path).forEach(file -> {
try {
BasicFileAttributes attrs = Files.readAttributes(file, BasicFileAttributes.class);
LocalDateTime lastModifiedTime = LocalDateTime.ofInstant(attrs.lastModifiedTime().toInstant(), ZoneId.systemDefault());
LocalDateTime oneMonthAgo = LocalDateTime.now().minus(1, ChronoUnit.MONTHS);
if (lastModifiedTime.isBefore(oneMonthAgo)) {
try {
Files.delete(file);
System.out.println("Deleted file: " + file);
} catch (IOException e) {
System.err.println("Failed to delete file: " + file);
}
}
} catch (IOException e) {
System.err.println("Failed to read attributes for file: " + file);
}
});
} catch (IOException e) {
System.err.println("Failed to walk through the folder: " + path);
}
}
}