Package com.trilead.ssh2
Class SCPClient
- java.lang.Object
-
- com.trilead.ssh2.SCPClient
-
public class SCPClient extends Object
A very basicSCPClientthat 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
SCPClientis actually mapping every request to a distinctSession.- Version:
- $Id: SCPClient.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
- Author:
- Christian Plattner, plattner@trilead.com
-
-
Constructor Summary
Constructors Constructor Description SCPClient(Connection conn)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidget(String[] remoteFiles, String localTargetDirectory)Download a set of files from the remote server to a local directory.voidget(String remoteFile, OutputStream target)Download a file from the remote server and pipe its contents into anOutputStream.voidget(String remoteFile, String localTargetDirectory)Download a file from the remote server to a local directory.voidput(byte[] data, String remoteFileName, String remoteTargetDirectory)Create a remote file and copy the contents of the passed byte array into it.voidput(byte[] data, String remoteFileName, String remoteTargetDirectory, String mode)Create a remote file and copy the contents of the passed byte array into it.voidput(String[] localFiles, String remoteTargetDirectory)Copy a set of local files to a remote directory, uses mode 0600 when creating files on the remote side.voidput(String[] localFiles, String[] remoteFiles, String remoteTargetDirectory, String mode)voidput(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.voidput(String localFile, String remoteTargetDirectory)Copy a local file to a remote directory, uses mode 0600 when creating the file on the remote side.voidput(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.voidput(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.
-
-
-
Constructor Detail
-
SCPClient
public SCPClient(Connection conn)
-
-
Method Detail
-
put
public void put(String localFile, String remoteTargetDirectory) throws IOException
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- the io exception
-
put
public void put(String[] localFiles, String remoteTargetDirectory) throws IOException
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- the io exception
-
put
public void put(String localFile, String remoteTargetDirectory, String mode) throws IOException
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- the io exception
-
put
public void put(String localFile, String remoteFileName, String remoteTargetDirectory, String mode) throws IOException
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- the io exception
-
put
public void put(byte[] data, String remoteFileName, String remoteTargetDirectory) throws IOExceptionCreate 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- the io exception
-
put
public void put(byte[] data, String remoteFileName, String remoteTargetDirectory, String mode) throws IOExceptionCreate 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- the io exception
-
put
public void put(String[] localFiles, String remoteTargetDirectory, String mode) throws IOException
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- the io exception
-
put
public void put(String[] localFiles, String[] remoteFiles, String remoteTargetDirectory, String mode) throws IOException
- Throws:
IOException
-
get
public void get(String remoteFile, String localTargetDirectory) throws IOException
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- the io exception
-
get
public void get(String remoteFile, OutputStream target) throws IOException
Download a file from the remote server and pipe its contents into anOutputStream. Please note that, to enable flexible usage of this method, theOutputStreamwill 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- the io exception
-
get
public void get(String[] remoteFiles, String localTargetDirectory) throws IOException
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- the io exception
-
-