创建文件夹(如果Google云端硬盘中不存在)

时间:2012-10-10 03:54:36

标签: java google-drive-api

我的应用程序适用于Google Drive Java API。

我想在Google云端硬盘的根目录中创建文件夹,只要它不存在。我使用下面的代码创建文件夹。

  file = service.files().insert(body).execute();

如何检查根文件夹中的文件夹存在。我只有文件夹名称' Myapp',而不是实例ID。

2 个答案:

答案 0 :(得分:9)

Files.List request = service.files().list().setQ(
       "mimeType='application/vnd.google-apps.folder' and trashed=false");
FileList files = request.execute();

您现在可以浏览“文件”中的所有文件夹,并检查是否有任何文件夹包含搜索过的标题。

不要忘记使用以下内容遍历所有页面:

request.setPageToken(files.getNextPageToken());

修改

也许你可以看看this site。您可以在搜索条件中添加标题,这样您就不必检索所有文件夹。

答案 1 :(得分:0)

Files.List request=service().files().list().setQ(
                   "mimeType='application/vnd.google-apps.folder' and trashed=false and name='"+folderName+"'");
        FileList files = request.execute();

上面的代码行用于获取具有给定名称的所有文件/文件夹的列表。如果文件为空,则意味着文件或具有给定名称的文件夹不存在,您可以使用下面提到的代码行创建一个新文件夹:

File fileMetadata = new File();
        fileMetadata.setName(folderName);
        fileMetadata.setMimeType("application/vnd.google-apps.folder");

        File file = service().files().create(fileMetadata)
            .setFields("id")
            .execute();