java删除特定前缀名的文件夹及其下的所有文件

要求:删除D盘下名称前缀为picture的文件夹及其下面的所有文件

我创建了下面3个文件夹和一个pictre和pictureMM文件,每个文件夹都放了一个新建文件.txt文件
在这里插入图片描述
在这里插入图片描述

直接上代码:

/**
 * 删除文件夹及其文件
 */
public class DeleteFileUntil {

    /**
     * 删除功能
     */
    public  static  void  deleteFile(File directory){
        if (!directory.isDirectory()){
            directory.delete();
        } else{
            File [] files = directory.listFiles();

            // 空文件夹
            if (files.length == 0){
                directory.delete();
                System.out.println("删除" + directory.getAbsolutePath());
                return;
            }

            // 删除子文件夹和子文件
            for (File file : files){
                if (file.isDirectory()){
                    deleteFile(file);
                } else {
                    file.delete();
                    System.out.println("删除" + file.getAbsolutePath());
                }
            }

            // 删除文件夹本身
            directory.delete();
            System.out.println("删除" + directory.getAbsolutePath());
        }
    }

    /**
     * 删除目录下文件夹名前缀为picture的文件夹及下的所有文件
     */
    public  static void  deleteFileNameLikePicture(File file){
        //目录存在,且为文件夹
        if (file.exists() && file.isDirectory()){
        	//找出下面所有的文件或者文件夹名称
            String[] list = file.list();  
            for (String name:list) {
                if (name.length()>=7 && name.substring(0,7).equals("picture")){
                    File file1 = new File(file+ name);
                    deleteFile(file1);
                }
            }
        }
    }

    public static void main(String[] args) {
        File file=new File("D:\\");
        deleteFileNameLikePicture(file);

    }
    }

结果:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Amazon S3中,没有直接删除文件夹的方法,因为S3是一个对象存储服务,它没有真正的文件夹结构。但是,你可以使用Amazon S3 SDK提供的方法来删除某个文件夹下的所有文件。 以下是一个示例代码,展示如何在Java删除某个文件夹下的所有文件: ```java AmazonS3 s3Client = AmazonS3ClientBuilder.standard().build(); String bucketName = "your-bucket-name"; String folderPath = "path/to/folder/"; // 设置要删除文件夹路径 ListObjectsV2Request listObjectsRequest = new ListObjectsV2Request() .withBucketName(bucketName) .withPrefix(folderPath); // 设置前缀匹配文件夹路径 ListObjectsV2Result result; do { result = s3Client.listObjectsV2(listObjectsRequest); List<S3ObjectSummary> objects = result.getObjectSummaries(); for (S3ObjectSummary objectSummary : objects) { String key = objectSummary.getKey(); s3Client.deleteObject(bucketName, key); // 删除文件 System.out.println("Deleted object: " + key); } String token = result.getNextContinuationToken(); listObjectsRequest.setContinuationToken(token); } while (result.isTruncated()); System.out.println("All files in the folder have been deleted."); ``` 在上述示例中,我们首先创建一个Amazon S3客户端,并指定存储桶称和要删除文件夹路径。然后,我们使用`ListObjectsV2Request`来列出匹配指定前缀的所有对象(即文件)。 在循环中,我们遍历每个对象,并使用`deleteObject`方法删除它们。删除过程中,我们打印出已删除的对象的键(即文件路径)。 如果结果集中的对象数量超过一次请求可以返回的最大数量(默认为1000个对象),我们使用`isTruncated`方法检查是否还有更多的对象需要删除,并使用`setContinuationToken`方法设置继续请求的令牌。 当所有文件都被删除后,我们打印出一条消息来表示文件夹下的所有文件都已被删除。 请确保将`bucketName`和`folderPath`替换为你自己的存储桶称和要删除文件夹路径。 希望这可以帮助你在Java删除某个文件夹下的所有文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值