Java 如何使用CoreAPI从dropbox下载所有文件夹和文件
我正在将DropBox集成到我的程序中,但是下载所有文件夹中的所有文件夹、子文件夹和文件变得很麻烦。我知道如何列出根目录中的所有文件夹和文件,并使用以下代码分别下载:Java 如何使用CoreAPI从dropbox下载所有文件夹和文件,java,api,dropbox,Java,Api,Dropbox,我正在将DropBox集成到我的程序中,但是下载所有文件夹中的所有文件夹、子文件夹和文件变得很麻烦。我知道如何列出根目录中的所有文件夹和文件,并使用以下代码分别下载: DbxEntry.WithChildren listing = null; try { listing = client.getMetadataWithChildren("/"); } catch (DbxException e1) {
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方法,可用于确定它是否为文件。一旦它击中一个文件,你可以做一个新的
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,它必须记住要返回和前进的目录,以及要上传到某个目录。不过,谢谢你!