//查看所有文件
final Iterable<Result<Item>> results = minioClient.listObjects(bucket.name());
for (Result<Item> result : results) {
System.out.println(result.get().objectName());
}
//通过前缀获取object
final Iterable<Result<Item>> results = minioClient.listObjects("slghtr", "", false);
for (Result<Item> result : results) {
System.out.println(result.get().objectName());
}
//创建目录和目录下的文件
minioClient.putObject("slghtr",
"20210000/04/test4.txt",
"E:\\example-test.txt",
new PutObjectOptions(16,-1));
//删除单一文件
minioClient.removeObject(RemoveObjectArgs.builder().bucket("slghtr").object("20210000/test3.txt").build());
//批量删除文件
List<DeleteObject> deleteObjectList = new CopyOnWriteArrayList<>();
deleteObjectList.add(new DeleteObject("20210000/test1.txt"));
deleteObjectList.add(new DeleteObject("20210000/test2.txt"));
final Iterable<Result<DeleteError>> results = minioClient.removeObjects(RemoveObjectsArgs.builder().bucket(bucket.name()).objects(deleteObjectList).build());
for (Result<DeleteError> result : results) {
final DeleteError deleteError = result.get();
System.out.println(
"Error in deleting object " + deleteError.objectName() + "; " + deleteError.message());
}
//获取文件创建时的时间戳
final ObjectStat objectStat = minioClient.statObject(StatObjectArgs.builder().bucket("slghtr").object("20210000/test3.txt").build());
final ZonedDateTime zonedDateTime = objectStat.createdTime();
System.out.println(Timestamp.from(zonedDateTime.toInstant()).getTime());
//设置文件的保留时间
ZonedDateTime retentionUntil = ZonedDateTime.now(Time.UTC).minusMinutes(3).withNano(0);
Retention config = new Retention(RetentionMode.COMPLIANCE, retentionUntil);
minioClient.setObjectRetention(SetObjectRetentionArgs.builder().bucket("slghtr").object("20210000/test1.txt").config(config).build());