Minio文件工具类
时间: 2025-06-18 11:04:12 浏览: 12
### 关于 MinIO 文件管理工具类实现
为了更好地管理和操作 MinIO 中的文件,开发人员通常会创建专门的工具类来封装常见的文件操作功能。这些工具类可以简化应用程序与 MinIO 存储系统的交互过程。
#### 创建 MinIO 客户端连接
首先,在 Java 应用程序中集成 MinIO SDK 并建立客户端连接:
```java
import io.minio.MinioClient;
// ...
public class MinIoUtil {
private static final String ENDPOINT = "http://localhost:9000";
private static final String ACCESS_KEY = "minioadmin";
private static final String SECRET_KEY = "minioadmin";
public static MinioClient createMinioClient() throws Exception {
return MinioClient.builder()
.endpoint(ENDPOINT)
.credentials(ACCESS_KEY, SECRET_KEY)
.build();
}
}
```
此部分代码展示了如何初始化 `MinioClient` 实例并设置必要的参数[^1]。
#### 基本文件上传方法
下面是一个简单的方法用来向指定桶内上传文件:
```java
public void uploadFile(String bucketName, String objectName, File file) throws Exception {
try (InputStream inputStream = new FileInputStream(file)) {
minioClient.putObject(
PutObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.stream(inputStream, file.length(), -1)
.contentType("application/octet-stream")
.build());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
```
这段代码实现了通过输入流的方式将本地文件上传到目标位置的功能[^2]。
#### 下载文件至本地磁盘
对于从 MinIO 获取文件的操作,则可以通过如下方式完成:
```java
public void downloadFile(String bucketName, String objectName, Path destFilePath) throws Exception {
try (OutputStream outputStream = Files.newOutputStream(destFilePath)) {
minioClient.getObject(GetObjectArgs.builder().bucket(bucketName).object(objectName).build(),
outputStream);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
```
这里定义了一个函数用于接收来自远程服务器的对象并将之保存为本地文件。
#### 删除单个对象
当需要移除某个特定的对象时,可调用删除接口执行相应动作:
```java
public boolean removeObject(String bucketName, String objectName) throws Exception {
try {
minioClient.removeObject(RemoveObjectArgs.builder().bucket(bucketName).object(objectName).build());
return true;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
```
上述逻辑描述了怎样安全有效地清除不再使用的资源项。
阅读全文
相关推荐















