如何使用CoreAPI从dropbox下载所有文件夹和文件



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

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

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

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

你有一个开始,你可以列出文件,所以要添加到它,我们需要做一个简单的每个循环。它看起来应该是这样的:注意:这只会得到文件

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

为了获得文件夹,我建议修改上面的代码,添加一些if语句。DbxEntry有一个isFile/Folder方法,您可以使用它来确定它是否是一个文件。点击文件后你可以输入new

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

有了这些信息,你可能会实现你的最终目标。

最新更新