ftp4j is a Java client 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), create, delete, rename and move remote directories and files.
Benefits
A glimpse of ftp4j key benefits:
Connectivity:
The ftp4j library can connect the remote FTP server:
- Through a direct TCP/IP connection.
- Through a SSL secured connection (FTPS).
- Through a FTP proxy.
- Tunnelling through a HTTP proxy.
- Through a SOCKS 4/4a proxy.
- Through a SOCKS 5 proxy.
- You can add support to other proxies plugging your own connector, since the ftp4j connection manager architecture is modular.
Browsing the remote site
- FTP LIST command support through extensible parser architecture. Bundled parsers can handle: UNIX style listing, MAC style, DOS style, NetWare style and variants, EPLF style. Moreover you can build your own parser and plug it in the library.
- Clear object representation of directory contents.
Download and upload
- Active and passive transfer mode support.
- Binary and textual transfer type support, with optional and extensible type auto-selection.
- Event-based transfer monitoring.
- Transfer abortion support.
- Transfer resume support.
Java exceptions
- Structured exceptions let the developer know the real cause of any failure.
What is new in this release:
- This version fixes a bug in the download routine, handling the "502 Command REST not allowed by policy" message the right way.
What is new in version 1.7.1:
- 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.
What is new in version 1.7:
- 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.
What is new in version 1.6.1:
- The "502 Command REST not allowed by policy" and "501 REST not compatible with server configuration" responses to the "REST 0" command are no longer treated as errors.
- This extends the library compatibility to a greater number of server types. Each SIZE command is now preceded by a TYPE I command, extending the library compatibility.
- Several enhancements have been applied in the remote file list routine.
- Finally, a timezone issue has been solved in UnixListParser and NetWareListParser.
What is new in version 1.4.3:
- Enhancements in download/upload error handling
- UnixListParser enhancements
- The REST command is now issued only if the server declares explicitly its support in the FEAT command response
What is new in version 1.4.2:
- In FTPS and FTPES modes the client now issues a "PBSZ 0" command before sending the "PROT P" one. Some servers require it.
- Minor API change: the streamLength information is no more required by the upload method. (Thanks to Lukas Loehrer)
What is new in version 1.4.1:
- Bug resolved: append instead overwrite on download
- Bug resolved: blank files in textual mode on upload/download
What is new in version 1.4:
- FTPS and FTPES support added.
- New connection architecture, classes FTPConnection and SSLConnector have been removed.
What is new in version 1.3.3:
- UTF-8 support enhanced
Requirements:
- Java 2 Standard Edition Runtime Environment
Comments not found