This example demonstrates how to download a file from FTP server. To download a file, we first connect to the FTP server and then login by supplying the username and password. To download the file we call retrieveFile() method of the FTPClient object. This method takes two parameters, the remote filename and an OutputStream of the local file where the download to be saved.
package org.kodejava.commons.net;
import org.apache.commons.net.ftp.FTPClient;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class FTPDownloadDemo {
public static void main(String[] args) {
// The local filename and remote filename to be downloaded.
String filename = "data.txt";
FTPClient client = new FTPClient();
try (OutputStream os = new FileOutputStream(filename)) {
client.connect("ftp.example.com");
boolean login = client.login("demo", "password");
if (login) {
System.out.println("Login success...");
// Download file from FTP server.
boolean status = client.retrieveFile(filename, os);
System.out.println("status = " + status);
System.out.println("reply = " + client.getReplyString());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
If the download process was success, you will see the following output printed:
status = true
reply = 226 Transfer complete.
Maven Dependencies
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.10.0</version>
</dependency>
