Package com.trilead.ssh2
Class SCPClient
java.lang.Object
com.trilead.ssh2.SCPClient
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
.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Download a set of files from the remote server to a local directory.void
get
(String remoteFile, OutputStream target) Download a file from the remote server and pipe its contents into anOutputStream
.void
Download a file from the remote server to a local directory.void
Create a remote file and copy the contents of the passed byte array into it.void
Create a remote file and copy the contents of the passed byte array into it.void
Copy a set of local files to a remote directory, uses mode 0600 when creating files on the remote side.void
void
Copy a set of local files to a remote directory, uses the specified mode when creating the files on the remote side.void
Copy a local file to a remote directory, uses mode 0600 when creating the file on the remote side.void
Copy a local file to a remote directory, uses the specified mode when creating the file on the remote side.void
Copy a local file to a remote directory, uses the specified mode and remote filename when creating the file on the remote side.
-
Constructor Details
-
SCPClient
-
-
Method Details
-
put
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
-
put
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
-
put
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
-
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
-
put
public void put(byte[] data, String remoteFileName, String remoteTargetDirectory) throws IOException 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
-
put
public void put(byte[] data, String remoteFileName, String remoteTargetDirectory, String mode) throws IOException 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
-
put
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
-
put
public void put(String[] localFiles, String[] remoteFiles, String remoteTargetDirectory, String mode) throws IOException - Throws:
IOException
-
get
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
-
get
Download a file from the remote server and pipe its contents into anOutputStream
. Please note that, to enable flexible usage of this method, theOutputStream
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
-
get
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
-