【问题标题】:How to download all folders and files from dropbox using CoreAPI如何使用 CoreAPI 从 Dropbox 下载所有文件夹和文件
【发布时间】:2014-08-19 04:31:29
【问题描述】:

我正在将 DropBox 集成到我的程序中,但是下载所有文件夹、子文件夹和所有文件夹中的文件变得很麻烦。我知道如何列出根目录中的所有文件夹和文件,并使用以下代码分别下载:

DbxEntry.WithChildren listing = null;

            try {
                listing = client.getMetadataWithChildren("/");
            } catch (DbxException e1) {
                e1.printStackTrace();
            }

但是,我将如何下载用户指定的文件夹中的文件夹?我的程序创建了一个类似于 DropBox Android 应用程序界面的界面,并在单击时下载并保存文件夹和文件的元数据。我在创建正确路径时遇到问题。我该怎么做呢?

【问题讨论】:

    标签: java api dropbox


    【解决方案1】:

    这是我刚刚在我的一个项目中遇到的问题。

    您已经开始列出文件,因此要添加到它,我们需要为每个循环做一个简单的操作。它应该如下所示:注意:这只会获取文件

      for (DbxEntry child : listing.children){
        mClient.getFile("/PATHTOFILE/" + child.name, null, new FileOutputStream(filePath + mPathSep + child.name));
                  }
    

    为了获取文件夹,我建议通过添加一些 if 语句来修改上面的代码。 DbxEntry 有一个 isFile/Folder 方法,您可以使用它来确定它是否是一个文件。一旦它击中一个文件,你就可以做一个新的

     for (DbxEntry child : listing.children){
          if(child.isFile())
            mClient.getFile("/PATHTOFILE/" + child.name, null, new FileOutputStream("PATHTONEWFILE" + child.name));
    
          else
           new File(path).mkdir(); 
                      }
    

    有了这些信息,你大概可以实现你的最终目标。

    【讨论】:

    • 感谢您抽出宝贵时间回答这个问题。我实际上是用不同的过程弄清楚的。我使用这个的过程有点复杂,但这是因为我创建了一个 GUI,它必须记住要返回和前进的目录,还要上传到某个目录。不过,谢谢!
    猜你喜欢
    • 2012-03-21
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    相关资源
    最近更新 更多