1

在我的应用程序中,我需要通过 HTTP 自动下载许多文件,可能非常大。我想实现类似“批处理”的行为,当所有需要下载的文件都放入一个队列时,然后几个工作线程从这个队列中提取任务并在后台并行执行实际下载。我还需要下载管理器的一些常见行为:处理不完整或失败的下载,使用临时文件夹/文件名直到文件完全下载等。我尝试谷歌搜索,但我很惊讶我没有在 Java 中找到任何有用的帮助这个任务。到目前为止,我发现的唯一东西是:

  1. Java 中的下载管理器- 没有有用的答案,只有一个链接

  2. http://luugiathuy.com/2011/03/download-manager-java/ - 这个更好,但仍然很低级,太简单了,不能满足我 90% 的需求。看起来更像教程而不像图书馆

  3. http://sourceforge.net/projects/jdm/ - 尽管它的名字,它甚至更基本。

有人知道可以实现这种行为的任何其他库吗?

4

1 回答 1

0

您可以使用的apache http 组件——它为您提供了一个很好的使用 HTTP 的 API。

但是你必须自己实现其余的 - 批量下载实际上只是重复多次的一次下载。为此,您需要一个单独的库来实现。您可以轻松地使用 java 5 并发添加,例如Executors.newFixedThreadPool(..)提交Runnable执行下载的 s。

我怀疑没有现成的实现,因为它将是最终用户产品,而不是库。您必须自己收集组件。

于 2013-06-21T14:39:08.220 回答