Sample code for 30+ languages & platforms
Java

Synchronize Remote Directory Tree

See more FTP Examples

Uploads a directory tree from the local filesystem to the FTP server. Synchronization modes include:

mode=0: Upload all files
mode=1: Upload all files that do not exist on the FTP server.
mode=2: Upload newer or non-existant files.
mode=3: Upload only newer files. If a file does not already exist on the FTP server, it is not uploaded.

Chilkat Java Downloads

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

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.setHostname("ftp.example.com");
        ftp.setUsername("login");
        ftp.setPassword("password");

        ftp.setKeepSessionLog(true);

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

            // Set the current remote directory to the root of
            // the tree where files are uploaded.
            ftp.changeRemoteDir("/abc123");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Recursively upload all non-existant and newer files.
        int mode = 2;
        try {
            ftp.syncRemoteTree("c:/temp/abc123", mode);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        ftp.disconnect();

        // Display the session log.
        System.out.println(ftp.getSessionLog());
    }
}