public class

SCPClient

extends Object
java.lang.Object
   ↳ com.trilead.ssh2.SCPClient

Class Overview

A very basic SCPClient that can be used to copy files from/to the SSH-2 server. On the server side, the "scp" program must be in the PATH.

This scp client is thread safe - you can download (and upload) different sets of files concurrently without any troubles. The SCPClient is actually mapping every request to a distinct Session.

Summary

Fields
Connection conn
Public Constructors
SCPClient(Connection conn)
Public Methods
void get(String remoteFile, OutputStream target)
Download a file from the remote server and pipe its contents into an OutputStream.
void get(String remoteFile, String localTargetDirectory)
Download a file from the remote server to a local directory.
void get(String[] remoteFiles, String localTargetDirectory)
Download a set of files from the remote server to a local directory.
void put(byte[] data, String remoteFileName, String remoteTargetDirectory, String mode)
Create a remote file and copy the contents of the passed byte array into it.
void put(String[] localFiles, String remoteTargetDirectory)
Copy a set of local files to a remote directory, uses mode 0600 when creating files on the remote side.
void put(String[] localFiles, String[] remoteFiles, String remoteTargetDirectory, String mode)
void put(byte[] data, String remoteFileName, String remoteTargetDirectory)
Create a remote file and copy the contents of the passed byte array into it.
void put(String[] localFiles, String remoteTargetDirectory, String mode)
Copy a set of local files to a remote directory, uses the specified mode when creating the files on the remote side.
void put(String localFile, String remoteTargetDirectory, String mode)
Copy a local file to a remote directory, uses the specified mode when creating the file on the remote side.
void put(String localFile, String remoteTargetDirectory)
Copy a local file to a remote directory, uses mode 0600 when creating the file on the remote side.
void put(String localFile, String remoteFileName, String remoteTargetDirectory, String mode)
Copy a local file to a remote directory, uses the specified mode and remote filename when creating the file on the remote side.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

Connection conn

Public Constructors

public SCPClient (Connection conn)

Parameters
conn

Public Methods

public void get (String remoteFile, OutputStream target)

Download a file from the remote server and pipe its contents into an OutputStream. Please note that, to enable flexible usage of this method, the OutputStream will not be closed nor flushed.

Parameters
remoteFile Path and name of the remote file.
target OutputStream where the contents of the file will be sent to.
Throws
IOException

public void get (String remoteFile, String localTargetDirectory)

Download a file from the remote server to a local directory.

Parameters
remoteFile Path and name of the remote file.
localTargetDirectory Local directory to put the downloaded file.
Throws
IOException

public void get (String[] remoteFiles, String localTargetDirectory)

Download a set of files from the remote server to a local directory.

Parameters
remoteFiles Paths and names of the remote files.
localTargetDirectory Local directory to put the downloaded files.
Throws
IOException

public void put (byte[] data, String remoteFileName, String remoteTargetDirectory, String mode)

Create a remote file and copy the contents of the passed byte array into it. The method use the specified mode when creating the file on the remote side.

Parameters
data The data to be copied into the remote file.
remoteFileName The name of the file which will be created in the remote target directory.
remoteTargetDirectory Remote target directory. Use an empty string to specify the default directory.
mode A four digit string (e.g., 0644, see "man chmod", "man open")
Throws
IOException

public void put (String[] localFiles, String remoteTargetDirectory)

Copy a set of local files to a remote directory, uses mode 0600 when creating files on the remote side.

Parameters
localFiles Paths and names of local file names.
remoteTargetDirectory Remote target directory. Use an empty string to specify the default directory.
Throws
IOException

public void put (String[] localFiles, String[] remoteFiles, String remoteTargetDirectory, String mode)

Parameters
localFiles
remoteFiles
remoteTargetDirectory
mode
Throws
IOException

public void put (byte[] data, String remoteFileName, String remoteTargetDirectory)

Create a remote file and copy the contents of the passed byte array into it. Uses mode 0600 for creating the remote file.

Parameters
data The data to be copied into the remote file.
remoteFileName The name of the file which will be created in the remote target directory.
remoteTargetDirectory Remote target directory. Use an empty string to specify the default directory.
Throws
IOException

public void put (String[] localFiles, String remoteTargetDirectory, String mode)

Copy a set of local files to a remote directory, uses the specified mode when creating the files on the remote side.

Parameters
localFiles Paths and names of the local files.
remoteTargetDirectory Remote target directory. Use an empty string to specify the default directory.
mode A four digit string (e.g., 0644, see "man chmod", "man open")
Throws
IOException

public void put (String localFile, String remoteTargetDirectory, String mode)

Copy a local file to a remote directory, uses the specified mode when creating the file on the remote side.

Parameters
localFile Path and name of local file.
remoteTargetDirectory Remote target directory. Use an empty string to specify the default directory.
mode A four digit string (e.g., 0644, see "man chmod", "man open")
Throws
IOException

public void put (String localFile, String remoteTargetDirectory)

Copy a local file to a remote directory, uses mode 0600 when creating the file on the remote side.

Parameters
localFile Path and name of local file.
remoteTargetDirectory Remote target directory. Use an empty string to specify the default directory.
Throws
IOException

public void put (String localFile, String remoteFileName, String remoteTargetDirectory, String mode)

Copy a local file to a remote directory, uses the specified mode and remote filename when creating the file on the remote side.

Parameters
localFile Path and name of local file.
remoteFileName The name of the file which will be created in the remote target directory.
remoteTargetDirectory Remote target directory. Use an empty string to specify the default directory.
mode A four digit string (e.g., 0644, see "man chmod", "man open")
Throws
IOException