|
@@ -1060,13 +1060,13 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
ZonedDateTime deleteTime = ZonedDateTime.now().minusDays(number); // 删除30天前的文件
|
|
|
|
|
|
// 删除指定目录下的所有文件和文件夹
|
|
|
- deleteObjectsAndEmptyDirectoriesRecursively(minioClient, bucketName, prefix, deleteTime);
|
|
|
+ deleteDirectoriesAndFilesRecursively(minioClient, bucketName, prefix, deleteTime);
|
|
|
} catch (Exception e) {
|
|
|
System.out.println("Error occurred: " + e);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- private static void deleteObjectsAndEmptyDirectoriesRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
|
|
|
+
|
|
|
+ private static void deleteDirectoriesAndFilesRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
|
|
|
Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder()
|
|
|
.bucket(bucketName)
|
|
|
.prefix(prefix)
|
|
@@ -1075,16 +1075,18 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
|
|
|
for (Result<Item> result : results) {
|
|
|
Item item = result.get();
|
|
|
- ZonedDateTime itemLastModified = item.lastModified();
|
|
|
- log.info("删除的时间:"+deleteTime);
|
|
|
- log.info("文件夹的时间:"+itemLastModified);
|
|
|
- if (itemLastModified.isBefore(deleteTime)) {
|
|
|
- // 删除文件或文件夹
|
|
|
- minioClient.removeObject(RemoveObjectArgs.builder()
|
|
|
- .bucket(bucketName)
|
|
|
- .object(item.objectName())
|
|
|
- .build());
|
|
|
- log.info("删除文件或文件夹: " + item.objectName());
|
|
|
+ if (item.isDir()) {
|
|
|
+ ZonedDateTime itemLastModified = item.lastModified();
|
|
|
+ log.info("删除的时间:"+deleteTime);
|
|
|
+ log.info("文件夹的时间:"+itemLastModified);
|
|
|
+ if (itemLastModified.isBefore(deleteTime)) {
|
|
|
+ // 删除文件夹及其所有文件
|
|
|
+ minioClient.removeObject(RemoveObjectArgs.builder()
|
|
|
+ .bucket(bucketName)
|
|
|
+ .object(item.objectName())
|
|
|
+ .build());
|
|
|
+ log.info("删除文件夹及其所有文件: " + item.objectName());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|