在我的应用程序中,我需要通过HTTP自动下载许多文件,可能相当大。我希望实现类似于“批处理”行为,当需要下载的所有文件都放入队列中时,有几个工作线程从这个队列中获取任务,并在后台并行执行实际的下载。此外,我还需要下载管理器的一些常见行为:处理不完整或失败的下载,在文件完全下载之前使用temp文件夹/文件名,等等。我尝试了谷歌搜索,但是我很惊讶我没有在Java中找到任何有用的东西来帮助完成这个任务。到目前为止我发现的唯一一件事是:
有谁知道其他库可以实现这种行为吗?
发布于 2013-06-21 14:39:08
您可以使用的库是apache http组件 -它为您提供了一个很好的使用HTTP的API。
但是你必须自己实现剩下的部分--批量下载实际上只是重复多次的一次下载。为此,您需要一个单独的库来实现。您可以很容易地使用java 5并发添加,例如Executors.newFixedThreadPool(..)来提交执行下载的Runnable。
我怀疑没有现成的实现,因为它是一个最终用户产品,而不是一个库。你得自己去收集组件。
https://stackoverflow.com/questions/17237721
复制相似问题