我应该使用什么Java FTP客户端库?

Tad*_*der 91 java ftp client

因为我的上一个问题没有得到任何肯定答案.我将尝试自己编写一个Java FTP上传小程序.

我的问题是:"你能推荐一个Java FTP客户端库供我使用吗?"

我希望它是:

  • 稳定
  • 能够处理被动和主动模式
  • 能够提供上传进度信息
  • 如果出现问题,则抛出可捕获的异常(特别是当上传不成功时)
  • 便宜/免费使用,最好是开源

我发现这个 概述了一些库,但由于这篇文章是从2003年,也许一些新的事态发展已经发生了:)

Lei*_*igh 56

查看包含FTP实用程序的Apache commons-net.我不确定它是否满足您的所有要求,但它肯定是免费的!

  • @Moritz Both:最终在2010年修复.请参阅https://issues.apache.org/jira/browse/NET-288. (2认同)
  • 这个库的速度相当慢,寻找更快的库. (2认同)

小智 17

对于功能和许可证,ftp4j是最好的:

http://www.sauronsoftware.it/projects/ftp4j/

  • 我不明白为什么不上传图书馆到Maven Central ......这是宗教或政治决定吗? (8认同)
  • 缺点是它不在Maven Central (5认同)
  • @gavenkoa据我所知,要将项目上传到maven central,你几乎被迫使用maven作为你的构建工具.如果一个人正在用ant构建(就像ftp4j那样),那就不那么容易了,我想作者并不关心这一点. (2认同)

Bru*_*haw 7

是的,EnterpriseDT的edtFTPj是稳定的(2000年首次发布),具有您可能需要的所有功能,并且也是开源的.

它被用于一堆开源项目(以及许多商业项目中),并被公认为是最快的客户端库之一.

正如另一张海报所指出的,如果您确实希望升级到SFTP和/或FTPS,那么这是一个简单的升级路径,只需要很少的代码更改.

  • 只要您需要“专业”功能,例如通过代理连接,此软件包就不是免费的(并且非常昂贵)... (2认同)

sou*_*els 5

我使用的是Apache Commons VFS

CYA