ftp4j is a Java library that implements a full-featured FTP client. With ftp4j embedded in your application, you can transfer files (upload and download), browse the remote FTP site (directory listing included), and create, delete, rename, and move remote directories and files.
A change has been made in the FTP connectors architecture. FTPConnector is no longer an interface: it is now an abstract class implementing timeout aware connections. Timeouts for connection, read, and close operations can be set by the caller. A connection attempt to a remote FTP server can now be aborted, calling the brand new abortCurrentConnectionAttempt() method in FTPClient. Moreover, a bug has been fixed in the HTTPTunnelConnector.
URL: ftp4j - a pure Java FTP client library