Sample code for 30+ languages & platforms
Java

SFTP Download all Files in a Directory

See more SFTP Examples

Demonstrates how to download all files in a remote directory. This example uses the SyncTreeDownload method in a non-recursive mode that forces the download of all files, regardless of date/time or size differences.

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkSFtp sftp = new CkSFtp();

    success = sftp.Connect("my-ssh-server.com",22);
    if (success == true) {
        success = sftp.AuthenticatePw("mySshLogin","mySshPassword");
        }

    if (success == true) {
        success = sftp.InitializeSftp();
        }

    if (success != true) {
        System.out.println(sftp.lastErrorText());
        return;
        }

    // Download all the files from the remote directory "syncDownloadTest/xml"
    // into our local directory "qa_output"
    // Both directories are relative paths.  The remote directory
    // is relative to the HOME directory of the SSH user account.
    // The local directory is relative to the current working directory of the process.
    // It is also possible to use absolute paths.

    String remoteDir = "syncDownloadTest/xml";
    String localDir = "qa_output";
    // Mode 0 causes SyncTreeDownload to download all files.
    int mode = 0;
    // Do not recursively descend the remote directory tree.  Just download all the files in specified directory.
    boolean recursive = false;
    success = sftp.SyncTreeDownload(remoteDir,localDir,mode,recursive);
    if (success != true) {
        System.out.println(sftp.lastErrorText());
        return;
        }

    System.out.println("Success.");
  }
}