Sample code for 30+ languages & platforms
Java

SFTP Upload from Local Filesystem

See more SFTP Examples

Demonstrates how to upload a file to an SSH server. There are no limitations on file size, and the file is streamed directly from the local filesystem.

Chilkat Java Downloads

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

public class ChilkatExample {

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

        SFtp sftp = new SFtp();

        // Set some timeouts, in milliseconds:
        sftp.setConnectTimeoutMs(5000);
        sftp.setIdleTimeoutMs(10000);

        // Connect to the SSH server.
        // The standard SSH port = 22
        // The hostname may be a hostname or IP address.
        String hostname = "sftp.example.com";
        int port = 22;
        String handle;
        try {
            sftp.connect(hostname, port);

            // Authenticate with the SSH server.  Chilkat SFTP supports
            // both password-based authenication as well as public-key
            // authentication.  This example uses password authenication.
            sftp.authenticatePw("myLogin", "myPassword");

            // After authenticating, the SFTP subsystem must be initialized:
            sftp.initializeSftp();

            // Open a file for writing on the SSH server.
            // If the file already exists, it is overwritten.
            // (Specify "createNew" instead of "createTruncate" to
            // prevent overwriting existing files.)
            handle = sftp.openFile("hamlet.xml", "writeOnly", "createTruncate");

            // Upload from the local file to the SSH server.
            sftp.uploadFile(handle, "c:/temp/hamlet.xml");

            // -----------------------------------------------------------------------------
            // This is important.  You must close the handle on the server.
            // Otherwise open handles will accumulate on the server until eventually a limit
            // is reached and the server will fail on a call to OpenFile.
            // -----------------------------------------------------------------------------

            // Close the file.
            sftp.closeHandle(handle);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

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