我可公开访问的存储区中有以下文件结构:
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文档缺少有关如何正确执行此操作的信息。
有什么建议吗?
答案 0 :(得分:0)
事实证明file.isDirectory()
永远不会返回true。相反,file.getName()
会返回somedir/somefile.html
。