java gae谷歌云存储迭代桶中的文件

时间:2015-06-24 14:16:55

标签: java google-app-engine google-cloud-storage

我可公开访问的存储区中有以下文件结构:

somedirs/somefiles.html

html文件显示在我的存储桶中,我可以在浏览器中访问它们,并在我的应用程序中读取/写入它们。我现在想要遍历所有文件(使用最新的java sdk在gae上)来生成我的sitemap.xml。

我打算采用以下方法:

ListResult fileList = GcsServiceFactory.createGcsService(RetryParams.getDefaultInstance())
    .list("mybucket", new ListOptions.Builder().setRecursive(true).build());
String dir = null;
while (fileList.hasNext()) {
    ListItem file = fileList.next();
    if (file.isDirectory()) {
        dir = file.getName();
        continue;
    } else if(dir == null)
        continue;
    //generate XML form file meta-data, name and dir name
}

我的问题是文件列表似乎是空的,因此我的sitemap.xml也是空的。文档和API文档缺少有关如何正确执行此操作的信息。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

事实证明file.isDirectory()永远不会返回true。相反,file.getName()会返回somedir/somefile.html