Minio Java 接口

Maven依赖

<dependency>
	<groupId>io.minio</groupId>
	<artifactId>minio</artifactId>
	<version>8.5.2</version>
</dependency>

Java 代码示例

package minio;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.List;
import io.minio.BucketExistsArgs;
import io.minio.DownloadObjectArgs;
import io.minio.GetObjectArgs;
import io.minio.ListObjectsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import io.minio.RemoveBucketArgs;
import io.minio.RemoveObjectArgs;
import io.minio.Result;
import io.minio.UploadObjectArgs;
import io.minio.messages.Bucket;
import io.minio.messages.Item;
public class s3 {
	//private static String access_key_id = "minio";
	//private static String secret_key_id = "minio123456";
	//private static String serviceEndpoint = "http://139.9.45.210:9110";

	private static String access_key_id = "13IXg2qhUOfXMHpQ";
	private static String secret_key_id = "p38QAppqu5dsgM3TOzeadZuRbLWr6kuP";
	private static String serviceEndpoint = "http://139.9.45.210:80";

	private static MinioClient minioClient =  MinioClient.builder()
			.endpoint(serviceEndpoint)
			.credentials(access_key_id, secret_key_id)
			   .build();

	// 列出桶
	public static void list_buckets() {
		try {
			List<Bucket> bucketList = minioClient.listBuckets();
			for (Bucket bucket : bucketList) {
				System.out.println(bucket.creationDate() + ", " + bucket.name());
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 创建桶
	public static void create_bucket() {
		try {
			boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("udbtovol").build());
			if (found) {
				System.out.println("udbtovol is exist");
			}else{
				minioClient.makeBucket(MakeBucketArgs.builder().bucket("udbtovol").build());
				System.out.println("udbtovol is created successfully");
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 删除桶
	public static void delete_bucket() {
		try {
			boolean found =  minioClient.bucketExists(BucketExistsArgs.builder().bucket("udbtovol").build());
			if (found) {
				minioClient.removeBucket(RemoveBucketArgs.builder().bucket("udbtovol").build());
				System.out.println("udbtovol is removed successfully");
			} else {
				System.out.println("udbtovol does not exist");
			}
		}  catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 列出对象
	public static void list_objects() {
		try {

			Iterable<Result<Item>> results =
					minioClient.listObjects(ListObjectsArgs.builder().bucket("udbtovol").build());
			for (Result<Item> result : results) {
				Item item = result.get();
				System.out.println(item.lastModified() + "\t" + item.size() + "\t" + item.objectName());
			}
		}  catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 上传对象
	public static void put_object() {
		try {

			File f = new File("UDBTO.png");
			InputStream inputStream =new FileInputStream(f);
			minioClient.putObject(
					PutObjectArgs.builder().bucket("udbtovol").object("UDBTO.png").stream(
							inputStream, f.length(), -1)
							.build());
		}  catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 上传对象2
	public static void upload_object() {
		try {

			minioClient.uploadObject(
					UploadObjectArgs.builder()
					.bucket("udbtovol").object("UDBTO.png").filename("UDBTO.png").build());
		}  catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 下载对象
	public static void get_object() {
		try {
			InputStream stream = minioClient.getObject(
					GetObjectArgs.builder()
							.bucket("udbtovol")
							.object("UDBTO.png")
							.build());

			FileOutputStream fos = new FileOutputStream("UDBTO.png");
			int bytesRead = 0;
			byte[] b = new byte[1024];
			while ((bytesRead = stream.read(b)) != -1) {
				fos.write(b, 0, bytesRead);
			}
			stream.close();
			fos.close();

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 下载对象2
	public static void get_object2() {
		try {
			minioClient.downloadObject(
					DownloadObjectArgs.builder()
							.bucket("udbtovol")
							.object("UDBTO.png")
							.filename("UDBTO.png")
							.build());

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 删除对象
	public static void delete_object() {
		try {

			minioClient.removeObject(
					RemoveObjectArgs.builder().bucket("udbtovol").object("UDBTO.png").build());

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		System.out.println("minio s3 test start");

		list_buckets();
		//create_bucket();
		//delete_bucket();
		//put_object();
		//upload_object();
		//get_object();
		//get_object2();
		//delete_object();
		System.out.println("minio s3 test end");
		System.exit(0);
	}
}