java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java minio删除文件夹

Java操作minio删除文件夹及其文件方法(MinIO基本使用)

作者:洛阳泰山

MinIO是一个高性能、无限扩展的开源对象存储服务器,它以对象的形式存储数据,并兼容Amazon S3接口,它适用于大规模数据存储、大数据分析、文件共享和备份等应用场景,这篇文章主要介绍了java操作minio删除文件夹及其文件方法,需要的朋友可以参考下

前言:

因java项目需求,要删除minio服务文件夹和下面的所有文件,百度了一下,没有查到有用的方法,自己也查看了minio jar包中的方法,也没发现删除文件夹的,不过,网上百度查到,只要删除文件夹下的所有文件,文件夹就自动删除了。自己也亲自验证,于是有了一个思路。

教程 :

pom文件所需依赖

    <!--minio-->
        <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>3.0.10</version>
        </dependency>

 主要代码示例

原理,根据bucket名称和文件夹名称,先用listObjects方法 查出所有匹配的文件列表,然后用removeObject方法循环删除。只要匹配文件夹的查出的文件列表全部删除,文件也会被删除,及时文件夹下还有文件夹也都可以匹配出来,然后删除。

 
    /**
     * 删除文件夹及文件
     *
     * @param bucketName bucket名称
     * @param objectName 文件或文件夹名称
     * @since tarzan LIU
     */
    private void deleteObject(String bucketName, String objectName) {
        try {
            if (StringUtils.isNotBlank(objectName)) {
                if (objectName.endsWith(".") || objectName.endsWith("/")) {
                    Iterable<Result<Item>> list = minioClient.listObjects(bucketName, objectName);
                    list.forEach(e -> {
                        try {
                            minioClient.removeObject(bucketName, e.get().objectName());
                        } catch (InvalidBucketNameException invalidBucketNameException) {
                            invalidBucketNameException.printStackTrace();
                        } catch (NoSuchAlgorithmException noSuchAlgorithmException) {
                            noSuchAlgorithmException.printStackTrace();
                        } catch (InsufficientDataException insufficientDataException) {
                            insufficientDataException.printStackTrace();
                        } catch (IOException ioException) {
                            ioException.printStackTrace();
                        } catch (InvalidKeyException invalidKeyException) {
                            invalidKeyException.printStackTrace();
                        } catch (NoResponseException noResponseException) {
                            noResponseException.printStackTrace();
                        } catch (XmlPullParserException xmlPullParserException) {
                            xmlPullParserException.printStackTrace();
                        } catch (ErrorResponseException errorResponseException) {
                            errorResponseException.printStackTrace();
                        } catch (InternalException internalException) {
                            internalException.printStackTrace();
                        }
                    });
                }
            }
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        }
    }

相关知识:

MinIO是一个开源的对象存储服务器,它兼容Amazon S3服务接口,并提供高性能、无限扩展性和强大的功能。在接下来的3000字内,我将为您详细解释MinIO的主要特点、用途和基本用法。

MinIO的主要特点:

MinIO的主要用途:

基本使用方法:

总结:

MinIO是一个高性能、无限扩展的开源对象存储服务器,它以对象的形式存储数据,并兼容Amazon S3接口。它适用于大规模数据存储、大数据分析、文件共享和备份等应用场景。通过简单的配置和使用MinIO的客户端工具或SDK,开发者可以快速搭建起强大的对象存储系统。请注意,以上解释只是对MinIO的基本介绍,如果您有特定的问题或需求,请进一步详细了解该工具的官方文档和资料。

到此这篇关于java操作minio删除文件夹及其文件方法的文章就介绍到这了,更多相关java minio删除文件夹内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文