Google Cloud Storage 按名称对目录排序

Google Cloud Storage sort directory by name

这对我来说感觉不对 - 在 GCS 中给定一个前缀并且知道我的 "folders" 始终以长值命名(例如 unix 时间中的日期)我想获得第一个列表如果我是按降序排列它们。现在,我只看到如何遍历它们并对列表进行排序:

ListOptions.Builder b = new ListOptions.Builder();
    b.setRecursive(false);
    b.setPrefix(path);
    ListResult result = null;
    result = gcsService.list(appIdentity.getDefaultGcsBucketName(), ListOptions.DEFAULT);
    List<Long> names = new ArrayList<>();

    while (result.hasNext()){

        ListItem l = result.next();
        String name = l.getName();
        logger.info("get top folder" + name);
        names.add(Long.valueOf(name));

    }
     Collections.sort(names);
     long topDay = names.get(0);

也许我没有看到列表选项?

如果数字长度相同,则您正在查找结果最后一页上的最后一个元素。不幸的是,没有反转结果排序的参数。

如果数字长度不一样,那是粗略的。解决这个问题的最佳方法可能是遍历选项并跟踪你见过的最好的选项,尽管之后对它们进行排序也是可行的。