Java 遍历minio目录下所有文件
时间: 2024-11-03 16:12:33 浏览: 58
minio实现本地和云端文件同步
在Java中遍历MinIO存储桶(类似于目录)下的所有文件,可以使用MinIO的Java SDK。以下是一个示例代码,展示了如何连接到MinIO服务器并列出指定存储桶中的所有对象(文件)。
首先,确保你已经添加了MinIO Java SDK到你的项目中。如果你使用的是Maven,可以在`pom.xml`文件中添加以下依赖:
```xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.2.2</version> <!-- 请根据需要选择最新版本 -->
</dependency>
```
然后,你可以使用以下代码来遍历MinIO存储桶中的所有文件:
```java
import io.minio.MinioClient;
import io.minio.ListObjectsArgs;
import io.minio.Result;
import io.minio.messages.Item;
public class MinioExample {
public static void main(String[] args) {
try {
// 创建MinIO客户端
MinioClient minioClient = MinioClient.builder()
.endpoint("https://play.min.io") // MinIO服务器地址
.credentials("YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY") // 替换为你的访问密钥和秘密密钥
.build();
// 存储桶名称
String bucketName = "my-bucket";
// 列出存储桶中的所有对象
Iterable<Result<Item>> results = minioClient.listObjects(
ListObjectsArgs.builder().bucket(bucketName).build());
for (Result<Item> result : results) {
Item item = result.get();
System.out.println("File Name: " + item.objectName());
System.out.println("File Size: " + item.size());
System.out.println("Last Modified: " + item.lastModified());
System.out.println("------------------------");
}
} catch (Exception e) {
System.err.println("Error occurred: " + e);
}
}
}
```
在这个示例中:
1. 我们创建了一个`MinioClient`实例,并配置了MinIO服务器的地址和访问凭证。
2. 使用`listObjects`方法列出指定存储桶中的所有对象。
3. 遍历结果并打印每个对象的详细信息,包括文件名、文件大小和最后修改时间。
请根据你的实际情况替换`endpoint`、`accessKey`和`secretKey`的值。希望这个示例对你有所帮助!
阅读全文