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

因为我没有收到我最后一个问题的正面答案。 我会尝试自己写一个Java FTP上传小程序。

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

我希望它是:

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

我发现了一些图书馆的概况 ,但是由于这篇文章是从2003年开始的,也许有一些新的发展已经发生:)

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

对于function和许可,ftp4j是最好的一个:

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

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

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

正如另一张海报所提到的,如果您希望升级到SFTP和/或FTPS,那么这是一个简单的升级path,只需要很less的代码更改。

我使用了Apache Commons VFS

CYA

Commons-net肯定。 :)现在大多数开源项目都使用它。

YC

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

Apache公用网最近更新频繁,而企业DT库似乎更新更频繁。

你也有这个2006年的文章列出了FTP客户端的不同选项。

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

kagi Ftp-Go

我正在下载video文件。 Apache的FTPClient摸不着头脑,它合理快速地下载了video。 但是当我试图播放video时,video中间就会丢失大块video。 ftp4j会下载整个video而不会丢失。

ftp4j ftw