我通过FTP / HTTP需要几个从Java一些巨大的文件(几个演出)。 有一个现成的库(Java /命令行工具),方便下载? 一些明显的要求是:
- 多点下载 - 应该可以打开几个连接到服务器,以加快下载(如网际快车/ GetRight时/ ...)
- 恢复下载
编辑 -我真的不想写一个这样的库,但偷(或收费)为现有的测试,生产档次库。 rsynch是不相关的,因为我需要从HTTP和FTP站点下载文件,它不是内部文件传输。
我通过FTP / HTTP需要几个从Java一些巨大的文件(几个演出)。 有一个现成的库(Java /命令行工具),方便下载? 一些明显的要求是:
编辑 -我真的不想写一个这样的库,但偷(或收费)为现有的测试,生产档次库。 rsynch是不相关的,因为我需要从HTTP和FTP站点下载文件,它不是内部文件传输。
HTTP协议不支持在开始偏移了部分下载,但对验证文件的本地部分版本,以确保它没有连接到年底(或类似的东西)垃圾有限的支持。 如果您的环境允许的话,我建议rsync
与--partial选项。 它的目的是支持这种功能的命令行。
如果你不能使用rsync,你可能会想尝试与共享,工作的HTTPClient和利用范围的HTTP标头下载管理大小的块。
如果你知道如何使用Java创建套接字和线程它并不难。
首先创建一个请求和读头,以获得Content-length
头。 然后制定一项战略,将拆分的例如500K每个请求块您的要求。 然后开始说使用每个请求的线程10名的请求。 在每一个请求,你必须定义Range
头。
恢复您的下载存储你还没有下载的范围的问题。 我建议你阅读这HTTP / 1.1头字段RFC 在这里 ,如果你真的想要得到所使用的协议很好地把握。
但是,如果你正在寻找一个讨巧的rsync或scp就足够了。