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

时间:2008-11-17 09:30:57

标签: java ftp client

因为我的last问题未收到任何肯定答案。我将尝试自己编写一个Java FTP上传小程序。

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

我希望它是:

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

我找到了一些图书馆的this overview,但由于这篇文章是从2003年开始的,可能还是有一些新的发展:)

9 个答案:

答案 0 :(得分:56)

查看包含FTP实用程序的Apache commons-net。我不确定它是否符合你的所有要求,但它肯定是免费的!

答案 1 :(得分:17)

ftp4j是功能和许可证中最好的一个:

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

答案 2 :(得分:7)

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

它被用于一堆开源项目(以及许多商业项目中),被认为是one of the fastest client libraries around

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

答案 3 :(得分:5)

我使用了Apache Commons VFS

孢霉素A

答案 4 :(得分:4)

Commons-net肯定。 :)这些天大多数开源项目都使用它。

YC

答案 5 :(得分:1)

我已经成功使用了Enterprise DT FTP库,它是免费的开源软件。我无法将它与其他库(如Apache Commons Net库)进行比较,因为我还没有使用它们。它确实为SFTP(通过SSH)和FTPS(通过SSL)提供了简单的升级途径,尽管这是一种付费商业产品。

答案 6 :(得分:1)

Apache commons-net最近更频繁地获取更新,而Enterprise DT库似乎更频繁地更新。

答案 7 :(得分:0)

您还有2006 article列出了FTP客户端的不同选项。

commons-net很好,但FTP-GO可以为您提供一些您正在寻找的更高级的功能。

kagi Ftp-Go

答案 8 :(得分:0)

我正在下载视频文件。 Apache的FTPClient失败了,它合理地快速下载了视频。但是当我试图播放视频时,它从视频中间丢失了块。 ftp4j会毫无损失地下载整个视频。

ftp4j ftw