minio查询文件夹下面内容的时候,路径最后一定要带个/,不然就是查询的当前文件夹自己
代码示例:
下面代码中bucketName是要查询的桶名称,perfixx传的就是路径
如果传一个2020/06/01,查询结果只有一个2020/06/01文件夹
传2020/06/01/,查询结果才是这个文件夹中的内容
/** * 查看文件对象,文件夹中的 * * @param path 文件夹 结尾必须有 / * @return 存储bucket内文件对象信息 */ public List<ObjectItem> listObjects(MinioClient minioClient, String path, Boolean onlyDir) { Iterable<Result<Item>> results = minioClient.listObjects( ListObjectsArgs.builder() .bucket(bucketName) .prefix(path) .recursive(false) .build()); List<ObjectItem> objectItems = new ArrayList<>(); try { for (Result<Item> result : results) { Item item = result.get(); if (onlyDir && !item.isDir()) { continue; } if (!onlyDir && item.isDir()) { continue; } ObjectItem objectItem = new ObjectItem(); String[] paths = item.objectName().split("/"); objectItem.setName(paths[paths.length - 1]); objectItem.setSize(item.size()); objectItems.add(objectItem); } } catch (Exception e) { e.printStackTrace(); return null; } return objectItems; }