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.
The FTPConnector has now a setUseSuggestedAddressForDataConnections() method that can be used to determinate if the connector should trust the address returned by the server in the response of a PASV command, or if it should rather connect to the same host used for the communication channel. A bug related to the auto noop timer has been fixed. Any call to SimpleDateFormat is now thread safe. There are enhancements in data transfer routines, which now are compatible with a larger set of servers and proxies.
URL: ftp4j - a pure Java FTP client library