What Java FTP client library should I use?

JavaFtpClient

Java Problem Overview


Since I received no positives answers to my last question. I will try to write a Java FTP upload applet myself.

My question is: "Can you recommend a Java FTP client library for me to use?"

I want it to be:

  • stable
  • able to handle passive and active modes
  • able to provide upload progress information
  • throw catchable exceptions if something went wrong (especially when an upload does not succeed)
  • cheap/free to use, preferably open source

I found this overview of some libraries, but since this article is from 2003, maybe some new developments have happened :)

Java Solutions


Solution 1 - Java

Check out Apache commons-net, which contains FTP utilities. Off the top of my head I'm not sure if it meets all of your requirements, but it's certainly free!

Solution 2 - Java

ftp4j is the best one, both for features and license:

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

Solution 3 - Java

I used Apache Commons VFS

cya

Solution 4 - Java

Yes, EnterpriseDT's edtFTPj is stable (first released in 2000), has all the features you might need, and is open source as well.

It's used in a bunch of open source projects (as well as in many commercial projects), and is acknowledged to be one of the fastest client libraries around.

As another poster noted, if you do wish to upgrade to SFTP and/or FTPS, it is a simple upgrade path with very few code changes required.

Solution 5 - Java

Commons-net surely. :) Most open source projects use it these days.

yc

Solution 6 - Java

I have successfully used the Enterprise DT FTP library, which is free and open source. I can't compare it to other libraries (like the Apache Commons Net library) since I haven't used them. It does provide a simple upgrade path to SFTP (over SSH) and FTPS (over SSL), though that is a pay-for commercial product.

Solution 7 - Java

Apache commons-nets get updates more frequently recently, while Enterprise DT library seems to update even more frequently.

Solution 8 - Java

You have also this 2006 article which lists different options for FTP clients.

commons-net is good, but FTP-GO can give you some of the more advanced features you are looking for.

kagi Ftp-Go

Solution 9 - Java

I was downloading video files. Apache's FTPClient fumbled, it downloaded the video reasonably fast. but when I tried to play the video back, it lost chunks out of the middle of the video. ftp4j would download the whole video with no loss.

ftp4j ftw

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTaderView Question on Stackoverflow
Solution 1 - JavaLeighView Answer on Stackoverflow
Solution 2 - JavaCoccoView Answer on Stackoverflow
Solution 3 - JavasourcerebelsView Answer on Stackoverflow
Solution 4 - JavaBruce BlackshawView Answer on Stackoverflow
Solution 5 - JavayclianView Answer on Stackoverflow
Solution 6 - JavaCozzmanView Answer on Stackoverflow
Solution 7 - JavaGatorhallView Answer on Stackoverflow
Solution 8 - JavaVonCView Answer on Stackoverflow
Solution 9 - Javanicolai.teselaView Answer on Stackoverflow