edtFTPj is an FTP client library that allows any Java application to have full embedded FTP functionality. It includes an easy-to-use API with methods such as downloadFile() and uploadFile(). Most FTP commands are supported, as well as active and passive modes. edFTPj has been extensively tested and is widely used in thousands of projects.
| Tags | Software Development Libraries |
|---|---|
| Licenses | LGPL |
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Changes: A fixe for a bug where the control socket wasn't closed if connect succeeded but initial commands failed. Refactored directory listing parsing. A fix for Korean months in UnixFileParser. FTPFile.isFile(). A fix for a bug in FTPInputStream.read(). A fix for a bug in Logger where the edtftp.log.level property was not set correctly. For resuming uploads, SIZE is sent prior to establishing a data socket. Automatic retry for FTP transfers. A fix for a hang when server replies had embedded \r chars.


Changes: A bug was fixed where any strings added to the FileNotFoundStrings, DirectoryEmptyStrings, and TransferCompleteStrings instances obtained via getAdvancedFTPSettings().getFileNotFoundMessages() were not applied. In active mode, the code now cycles through available ports if socket creation fails for a transfer. The "Unexpected null reply" error message was changed to a more informative message.


Changes: FTPConnectionClosedException was added, which is thrown when a 421 reply is received. The documentation was fixed.


Changes: A bug where the last modified date was always null for the Windows parser was fixed. executeCommand() now returns the entire server string, including any FTP reply codes. A documentation error regardin directory listings was fixed.


Changes: FileTransferClient was released, which is a new, easy-to-use interface that includes the functionality of FTPClient but adds FTP streams. The Developers Guide was updated, together with extensive new examples. The setListenOnAllInterfaces(boolean) flag was added to stop active mode listening on all interfaces (all interfaces is the default).
- All comments
Recent commentsGood Project
I did a bit of research on this subject and first found the apache ftp library. I tried it and for whatever reason it threw an exception when I tried to get the timestamp on files. A lot of other java ftp libraries are not open source. This one was very easy to setup and I've had no problems with it so far. I recommend it.