开发者社区 问答 正文

递归列出目录下所有文件(java)


根据API里的写法如下代码:遍历出来的是fun目录下的所有文件及目录,请问怎么能只遍历文件不显示目录呢? // 构造ListObjectsRequest请求ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName);listObjectsRequest.setPrefix( "fun/"); // 递归列出fun目录下的所有文件ObjectListing listing = ossClient.listObjects(listObjectsRequest); // 遍历所有ObjectSystem.out.println( "Objects:");for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) {System.out.println(objectSummary.getKey());}

展开
收起
herox 2016-07-05 16:01:20 5103 分享 版权
1 条回答
写回答
取消 提交回答
  • 回 楼主(herox) 的帖子

    https://help.aliyun.com/document_detail/32015.html?spm=5176.product8314910_31815.6.289.VSWXOo

    分页获取所有Object

    分页获取所有Object,每页maxKeys条Object。

    final int maxKeys = 30;
    String nextMarker = null;
    do {
        objectListing = ossClient.listObjects(new ListObjectsRequest("<bucketName>").withMarker(nextMarker).withMaxKeys(maxKeys));

        List<OSSObjectSummary> sums = objectListing.getObjectSummaries();
        for (OSSObjectSummary s : sums) {
            System.out.println("\t" + s.getKey());
        }

        nextMarker = objectListing.getNextMarker();

    } while (objectListing.isTruncated());
    2016-07-08 17:12:15
    赞同 展开评论
问答分类:
问答地址: