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
.
get
public void get(String remoteFile,
OutputStream target)
throws IOException
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.
remoteFile
- Path and name of the remote file.target
- OutputStream where the contents of the file will be sent to.
get
public void get(String remoteFile,
String localTargetDirectory)
throws IOException
Download a file from the remote server to a local directory.
remoteFile
- Path and name of the remote file.localTargetDirectory
- Local directory to put the downloaded file.
get
public void get(remoteFiles[] ,
String localTargetDirectory)
throws IOException
Download a set of files from the remote server to a local directory.
localTargetDirectory
- Local directory to put the downloaded files.
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.
localFile
- Path and name of local file.remoteTargetDirectory
- Remote target directory. Use an empty string to specify the default directory.
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.
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")
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.
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")
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.
localFiles
- Paths and names of local file names.remoteTargetDirectory
- Remote target directory. Use an empty string to specify the default directory.
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.
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")
put
public void put(String[] localFiles,
String[] remoteFiles,
String remoteTargetDirectory,
String mode)
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.
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.
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.
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")