Sample code for 30+ languages & platforms
Java

FTP Download with Progress Event Callbacks

See more FTP Examples

FTP download with progress event callbacks.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Ftp2;
import com.chilkatsoft.chilkat2.ProgressListener;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Ftp2 ftp = new Ftp2();
        ftp.setProgressListener(new ProgressListener() {
            @Override
            public boolean percentDone(int percentDone) {
                System.out.println("Percent Done: " + percentDone);
                return false;   // return true to abort the method in progress
            }

            @Override
            public void progressInfo(String name, String value) {
                System.out.println(name + ": " + value);
            }
        });

        ftp.setHostname("ftp.someFtpServer.com");
        ftp.setUsername("myLogin");
        ftp.setPassword("myPassword");

        // Connect and login to the FTP server.
        try {
            ftp.connectOnly();

            ftp.loginAfterConnectOnly();

            // Change to the remote directory where the file is located.
            // This step is only necessary if the file is not in the home directory
            // of the FTP account.
            ftp.changeRemoteDir("junk");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        String localFilename = "c:/temp/hamlet.xml";
        String remoteFilename = "hamlet.xml";

        // Ensure that we get PercentDone callbacks.
        ftp.setAutoGetSizeForProgress(true);

        // Download the file.
        try {
            ftp.getFile(remoteFilename, localFilename);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        ftp.disconnect();

        System.out.println("File Downloaded!");
    }
}