通过Java从Dropbox下载文件

5

我正在编写一个Swing应用程序,但我确定以后还会有更多的内容添加进来,所以我想知道是否有一种方式可以在文件更新后从Dropbox中下载它。我尝试了很多方法,但它们只会返回网页的HTML代码。有谁知道如何做到这点吗?我自己不是很清楚。


那么,你尝试了什么 - 你能贴出一些代码让我们帮助你使它工作吗? - wattostudios
5
我知道 Dropbox 提供了相应的 API。请参考 https://www.dropbox.com/developers/reference/sdk。 - hoipolloi
如果您正在使用将本地文件夹映射到Dropbox帐户的客户端软件,则该文件夹始终包含每个文件的最新版本 - 这是否符合您的要求? - Romski
2
请查看Dropbox API - MadProgrammer
@hoipolloi 我完全不知道有这样的东西!谢谢! - TheNerdyCoder
1个回答

4

我认为,Dropbox API 对于你所需的功能来说过于复杂了。

实际上,从 Dropbox 下载文件非常简单。

第一步是将要下载的文件放在 Dropbox 的公共文件夹中的某个位置。

接下来,右键单击该文件并选择“复制公共链接”。你可以从 Web 界面或者电脑同步文件夹中进行此操作。这将为文件提供一个唯一的下载 URL。

然后,使用以下代码:

String url="https://dl.dropboxusercontent.com/u/73386806/Prune%20Juice/Prune%20Juice.exe";
String filename="PruneJuice.exe";

try{
    URL download=new URL(url);
    ReadableByteChannel rbc=Channels.newChannel(download.openStream());
    FileOutputStream fileOut = new FileOutputStream(filename);
    fileOut.getChannel().transferFrom(rbc, 0, 1 << 24);
    fileOut.flush();
    fileOut.close();
    rbc.close();
}catch(Exception e){ e.printStackTrace(); }

当然,将url字符串的值更改为您自己的下载url,将文件名的值更改为您想要保存的任何内容。
现在,如果这失败了,您可能需要将url从https更改为http,但不管哪种方式都应该可以正常工作。Dropbox很酷。

1
然而,如果您不想将文件放在公共文件夹中,那么您实际上必须使用其他评论所谈论的Dropbox API。 - Daniel K
我正在尝试下载一个JAR文件,但结果出现了损坏的JAR文件错误。这之前一直很顺利,但现在不行了。很奇怪。 - Shivaji_Vidhale
1
如果您立即调用close(),则无需调用flush()。 - ceklock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接