|
@@ -1059,14 +1059,14 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
// 指定要删除的时间点(此处为当前时间之前的时间)
|
|
|
ZonedDateTime deleteTime = ZonedDateTime.now().minusDays(number); // 删除30天前的文件
|
|
|
|
|
|
- // 删除指定目录下的所有文件和文件夹
|
|
|
- deleteDirectoriesAndFilesRecursively(minioClient, bucketName, prefix, deleteTime);
|
|
|
+ // 删除指定目录下的所有文件夹及其子文件和文件夹
|
|
|
+ deleteDirectoriesAndContentsRecursively(minioClient, bucketName, prefix, deleteTime);
|
|
|
} catch (Exception e) {
|
|
|
System.out.println("Error occurred: " + e);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- private static void deleteDirectoriesAndFilesRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
|
|
|
+
|
|
|
+ private static void deleteDirectoriesAndContentsRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
|
|
|
Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder()
|
|
|
.bucket(bucketName)
|
|
|
.prefix(prefix)
|
|
@@ -1080,12 +1080,14 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
log.info("删除的时间:"+deleteTime);
|
|
|
log.info("文件夹的时间:"+itemLastModified);
|
|
|
if (itemLastModified.isBefore(deleteTime)) {
|
|
|
- // 删除文件夹及其所有文件
|
|
|
+ // 递归删除文件夹及其所有文件和文件夹
|
|
|
+ deleteDirectoriesAndContentsRecursively(minioClient, bucketName, item.objectName(), deleteTime);
|
|
|
+ // 删除当前文件夹
|
|
|
minioClient.removeObject(RemoveObjectArgs.builder()
|
|
|
.bucket(bucketName)
|
|
|
.object(item.objectName())
|
|
|
.build());
|
|
|
- log.info("删除文件夹及其所有文件: " + item.objectName());
|
|
|
+ log.info("删除文件夹及其所有文件和文件夹: " + item.objectName());
|
|
|
}
|
|
|
}
|
|
|
}
|