com.sshtools.sftp
Class SftpClient

java.lang.Object
  extended bycom.sshtools.sftp.SftpClient

public class SftpClient
extends java.lang.Object

Implements a Secure File Transfer (SFTP) client.

Author:
Lee David Painter

Field Summary
static int EOL_CR
          Specifices that the remote server is using \r as its newline convention when used with setRemoteEOL(int)
static int EOL_CRLF
          Specifices that the remote server is using \r\n as its newline convention when used with setRemoteEOL(int)
static int EOL_LF
          Specifices that the remote server is using \n as its newline convention when used with setRemoteEOL(int)
static int MODE_BINARY
          Instructs the client to use a binary transfer mode when used with setTransferMode(int)
static int MODE_TEXT
          Instructs the client to use a text transfer mode when used with setTransferMode(int).
 
Constructor Summary
SftpClient(SshClient ssh)
           Constructs the SFTP client with a given channel event listener.
 
Method Summary
 void cd(java.lang.String dir)
           Changes the working directory on the remote server, or the home directory if null or any empty string is provided as the directory path
 void cdup()
          Change the working directory to the parent directory
 void chgrp(java.lang.String gid, java.lang.String path)
           Sets the group ID for the file or directory.
 void chmod(int permissions, java.lang.String path)
           Changes the access permissions or modes of the specified file or directory.
 void chown(java.lang.String uid, java.lang.String path)
           Sets the user ID to owner for the file or directory.
 DirectoryOperation copyLocalDirectory(java.lang.String localdir, java.lang.String remotedir, boolean recurse, boolean sync, boolean commit, FileTransferProgress progress)
          Copy the contents of a local directory into a remote remote directory.
 DirectoryOperation copyRemoteDirectory(java.lang.String remotedir, java.lang.String localdir, boolean recurse, boolean sync, boolean commit, FileTransferProgress progress)
          Copy the contents of a remote directory to a local directory
static java.lang.String formatLongname(SftpFile file)
          Format a String with the details of the file.
static java.lang.String formatLongname(SftpFileAttributes attrs, java.lang.String filename)
          Format a String with the details of the file.
 SftpFileAttributes get(java.lang.String path)
          Download the remote file to the local computer
 SftpFileAttributes get(java.lang.String path, boolean resume)
          Download the remote file to the local computer
 SftpFileAttributes get(java.lang.String path, FileTransferProgress progress)
           Download the remote file to the local computer.
 SftpFileAttributes get(java.lang.String path, FileTransferProgress progress, boolean resume)
           Download the remote file to the local computer.
 SftpFileAttributes get(java.lang.String remote, java.io.OutputStream local)
          Download the remote file into an OutputStream.
 SftpFileAttributes get(java.lang.String remote, java.io.OutputStream local, FileTransferProgress progress)
           Download the remote file writing it to the specified OutputStream.
 SftpFileAttributes get(java.lang.String remote, java.io.OutputStream local, FileTransferProgress progress, long position)
           Download the remote file writing it to the specified OutputStream.
 SftpFileAttributes get(java.lang.String remote, java.io.OutputStream local, long position)
          Download the remote file into an OutputStream.
 SftpFileAttributes get(java.lang.String remote, java.lang.String local)
          Download the remote file into the local file.
 SftpFileAttributes get(java.lang.String remote, java.lang.String local, boolean resume)
          Download the remote file into the local file.
 SftpFileAttributes get(java.lang.String remote, java.lang.String local, FileTransferProgress progress)
           Download the remote file to the local computer.
 SftpFileAttributes get(java.lang.String remote, java.lang.String local, FileTransferProgress progress, boolean resume)
           Download the remote file to the local computer.
 java.lang.String getAbsolutePath(java.lang.String path)
          Get the absolute path for a file.
 java.lang.String getDefaultDirectory()
           Get the default directory (or HOME directory)
 java.io.InputStream getInputStream(java.lang.String remotefile)
          Create an InputStream for reading a remote file.
 java.io.OutputStream getOutputStream(java.lang.String remotefile)
          Create an OutputStream for writing to a remote file.
 SftpSubsystemChannel getSubsystemChannel()
          Returns the instance of the SftpSubsystemChannel used by this class
 int getTransferMode()
           
 boolean isClosed()
           Returns the state of the SFTP client.
 boolean isDirectoryOrLinkedDirectory(SftpFile file)
          Determine whether the file object is pointing to a symbolic link that is pointing to a directory.
 void lcd(java.lang.String path)
           Changes the local working directory.
 java.lang.String lpwd()
           Returns the absolute path to the local working directory.
 SftpFile[] ls()
           List the contents of the current remote working directory.
 SftpFile[] ls(java.lang.String path)
           List the contents remote directory.
 void mkdir(java.lang.String dir)
           Creates a new directory on the remote server.
 void mkdirs(java.lang.String dir)
           Create a directory or set of directories.
 void put(java.io.InputStream in, java.lang.String remote)
          Upload the contents of an InputStream to the remote computer.
 void put(java.io.InputStream in, java.lang.String remote, FileTransferProgress progress)
           Upload a file to the remote computer reading from the specified InputStream.
 void put(java.io.InputStream in, java.lang.String remote, FileTransferProgress progress, long position)
           
 void put(java.io.InputStream in, java.lang.String remote, long position)
          Upload the contents of an InputStream to the remote computer.
 void put(java.lang.String local)
          Upload a file to the remote computer
 void put(java.lang.String local, boolean resume)
          Upload a file to the remote computer
 void put(java.lang.String local, FileTransferProgress progress)
           Upload a file to the remote computer.
 void put(java.lang.String local, FileTransferProgress progress, boolean resume)
           Upload a file to the remote computer.
 void put(java.lang.String local, java.lang.String remote)
          Upload a file to the remote computer
 void put(java.lang.String local, java.lang.String remote, boolean resume)
          Upload a file to the remote computer
 void put(java.lang.String local, java.lang.String remote, FileTransferProgress progress)
           Upload a file to the remote computer.
 void put(java.lang.String local, java.lang.String remote, FileTransferProgress progress, boolean resume)
           Upload a file to the remote computer.
 java.lang.String pwd()
           Returns the absolute path name of the current remote working directory.
 void quit()
           Close the SFTP client.
 void rename(java.lang.String oldpath, java.lang.String newpath)
           Rename a file on the remote computer.
 void rm(java.lang.String path)
           Remove a file or directory from the remote computer.
 void rm(java.lang.String path, boolean force, boolean recurse)
          Remove a file or directory on the remote computer with options to force deletion of existig files and recursion.
 void setBlockSize(int blocksize)
          Sets the block size used when transfering files, defaults to the optimized setting of 32768.
 void setBufferSize(int buffersize)
          Set the size of the buffer which is used to read from the local file system.
 void setMaxAsyncRequests(int asyncRequests)
          Set the maximum number of asynchronous requests that are outstanding at any one time.
 void setRemoteEOL(int eolMode)
          When connected to servers running SFTP version 3 (or less) the remote EOL type needs to be explicitley set because there is no reliable way for the client to determine the type of EOL for text files.
 void setTransferMode(int transferMode)
          Sets the transfer mode for current operations.
 SftpFileAttributes stat(java.lang.String path)
           Returns the attributes of the file from the remote computer.
 void symlink(java.lang.String path, java.lang.String link)
           Create a symbolic link on the remote computer.
 int umask(int umask)
          Sets the umask used by this client.
 void umask(java.lang.String umask)
          Sets the umask for this client.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MODE_BINARY

public static final int MODE_BINARY
Instructs the client to use a binary transfer mode when used with setTransferMode(int)

See Also:
Constant Field Values

MODE_TEXT

public static final int MODE_TEXT
Instructs the client to use a text transfer mode when used with setTransferMode(int).

See Also:
Constant Field Values

EOL_CRLF

public static final int EOL_CRLF

Specifices that the remote server is using \r\n as its newline convention when used with setRemoteEOL(int)

See Also:
Constant Field Values

EOL_LF

public static final int EOL_LF

Specifices that the remote server is using \n as its newline convention when used with setRemoteEOL(int)

See Also:
Constant Field Values

EOL_CR

public static final int EOL_CR

Specifices that the remote server is using \r as its newline convention when used with setRemoteEOL(int)

See Also:
Constant Field Values
Constructor Detail

SftpClient

public SftpClient(SshClient ssh)
           throws SftpStatusException,
                  SshException,
                  ChannelOpenException

Constructs the SFTP client with a given channel event listener.

Parameters:
ssh - the SshClient instance
Throws:
SftpStatusException
SshException
ChannelOpenException
Method Detail

setBlockSize

public void setBlockSize(int blocksize)
Sets the block size used when transfering files, defaults to the optimized setting of 32768. You should not increase this value as the remote server may not be able to support higher blocksizes.

Parameters:
blocksize -

getSubsystemChannel

public SftpSubsystemChannel getSubsystemChannel()
Returns the instance of the SftpSubsystemChannel used by this class

Returns:
the SftpSubsystemChannel instance

setTransferMode

public void setTransferMode(int transferMode)

Sets the transfer mode for current operations. The valid modes are:

MODE_BINARY - Files are transferred in binary mode and no processing of text files is performed (default mode).

MODE_TEXT - For servers supporting version 4+ of the SFTP protocol files are transferred in text mode. For earlier protocol versions the files are transfered in binary mode but the client performs processing of text; if files are written to the remote server the client ensures that the line endings conform to the remote EOL mode set using setRemoteEOL(int). For files retreived from the server the EOL policy is based upon System policy as defined by the "line.seperator" system property.

Parameters:
transferMode - int

setRemoteEOL

public void setRemoteEOL(int eolMode)

When connected to servers running SFTP version 3 (or less) the remote EOL type needs to be explicitley set because there is no reliable way for the client to determine the type of EOL for text files. In versions 4+ a mechanism is provided and this setting is overridden.

Valid values for this method are EOL_CRLF (default), EOL_CR, and EOL_LF.

Parameters:
eolMode - int

getTransferMode

public int getTransferMode()
Returns:
int

setBufferSize

public void setBufferSize(int buffersize)
Set the size of the buffer which is used to read from the local file system. This setting is used to optimize the writing of files by allowing for a large chunk of data to be read in one operation from a local file. The previous version simply read each block of data before sending however this decreased performance, this version now reads the file into a temporary buffer in order to reduce the number of local filesystem reads. This increases performance and so this setting should be set to the highest value possible. The default setting is negative which means the entire file will be read into a temporary buffer.

Parameters:
buffersize -

setMaxAsyncRequests

public void setMaxAsyncRequests(int asyncRequests)
Set the maximum number of asynchronous requests that are outstanding at any one time. This setting is used to optimize the reading and writing of files to/from the remote file system when using the get and put methods. The default for this setting is 100.


umask

public int umask(int umask)
Sets the umask used by this client.
 To give yourself full permissions for both files and directories and
 prevent the group and other users from having access:

   umask(077);

 This subtracts 077 from the system defaults for files and directories
 666 and 777. Giving a default access permissions for your files of
 600 (rw-------) and for directories of 700 (rwx------).

 To give all access permissions to the group and allow other users read
 and execute permission:

   umask(002);

 This subtracts 002 from the sytem defaults to give a default access permission
 for your files of 664 (rw-rw-r--) and for your directories of 775 (rwxrwxr-x).

 To give the group and other users all access except write access:

   umask(022);

 This subtracts 022 from the system defaults to give a default access permission
 for your files of 644 (rw-r--r--) and for your directories of 755 (rwxr-xr-x).
 

Parameters:
umask -
Returns:
the previous umask value

cd

public void cd(java.lang.String dir)
        throws SftpStatusException,
               SshException

Changes the working directory on the remote server, or the home directory if null or any empty string is provided as the directory path

Parameters:
dir - the new working directory
Throws:
java.io.IOException - if an IO error occurs or the file does not exist
SftpStatusException
SshException

getDefaultDirectory

public java.lang.String getDefaultDirectory()
                                     throws SftpStatusException,
                                            SshException

Get the default directory (or HOME directory)

Returns:
Throws:
SftpStatusException
SshException

cdup

public void cdup()
          throws SftpStatusException,
                 SshException
Change the working directory to the parent directory

Throws:
SftpStatusException
SshException

mkdir

public void mkdir(java.lang.String dir)
           throws SftpStatusException,
                  SshException

Creates a new directory on the remote server. This method will throw an exception if the directory already exists. To create directories and disregard any errors use the mkdirs method.

Parameters:
dir - the name of the new directory
Throws:
SftpStatusException
SshException

mkdirs

public void mkdirs(java.lang.String dir)
            throws SftpStatusException,
                   SshException

Create a directory or set of directories. This method will not fail even if the directories exist. It is advisable to test whether the directory exists before attempting an operation by using stat to return the directories attributes.

Parameters:
dir - the path of directories to create.
Throws:
SftpStatusException
SshException

isDirectoryOrLinkedDirectory

public boolean isDirectoryOrLinkedDirectory(SftpFile file)
                                     throws SftpStatusException,
                                            SshException
Determine whether the file object is pointing to a symbolic link that is pointing to a directory.

Returns:
Throws:
SftpStatusException
SshException

pwd

public java.lang.String pwd()

Returns the absolute path name of the current remote working directory.

Returns:
the absolute path of the remote working directory.

ls

public SftpFile[] ls()
              throws SftpStatusException,
                     SshException

List the contents of the current remote working directory.

Returns a list of SftpFile instances for the current working directory.

Returns:
a list of SftpFile for the current working directory
Throws:
SftpStatusException
SshException

ls

public SftpFile[] ls(java.lang.String path)
              throws SftpStatusException,
                     SshException

List the contents remote directory.

Returns a list of SftpFile instances for the remote directory.

Parameters:
path - the path on the remote server to list
Returns:
a list of SftpFile for the remote directory
Throws:
SftpStatusException
SshException

lcd

public void lcd(java.lang.String path)
         throws SftpStatusException

Changes the local working directory.

Parameters:
path - the path to the new working directory
Throws:
SftpStatusException

lpwd

public java.lang.String lpwd()

Returns the absolute path to the local working directory.

Returns:
the absolute path of the local working directory.

get

public SftpFileAttributes get(java.lang.String path,
                              FileTransferProgress progress)
                       throws java.io.FileNotFoundException,
                              SftpStatusException,
                              SshException,
                              TransferCancelledException

Download the remote file to the local computer.

Parameters:
path - the path to the remote file
progress -
Returns:
Throws:
java.io.FileNotFoundException
SftpStatusException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String path,
                              FileTransferProgress progress,
                              boolean resume)
                       throws java.io.FileNotFoundException,
                              SftpStatusException,
                              SshException,
                              TransferCancelledException

Download the remote file to the local computer.

Parameters:
path - the path to the remote file
progress -
resume - attempt to resume a interrupted download
Returns:
Throws:
java.io.FileNotFoundException
SftpStatusException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String path,
                              boolean resume)
                       throws java.io.FileNotFoundException,
                              SftpStatusException,
                              SshException,
                              TransferCancelledException

Download the remote file to the local computer

Parameters:
path - the path to the remote file
resume - attempt to resume an interrupted download
Returns:
the downloaded files attributes
Throws:
java.io.FileNotFoundException
SftpStatusException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String path)
                       throws java.io.FileNotFoundException,
                              SftpStatusException,
                              SshException,
                              TransferCancelledException

Download the remote file to the local computer

Parameters:
path - the path to the remote file
Returns:
the downloaded files attributes
Throws:
java.io.FileNotFoundException
SftpStatusException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String remote,
                              java.lang.String local,
                              FileTransferProgress progress)
                       throws java.io.FileNotFoundException,
                              SftpStatusException,
                              SshException,
                              TransferCancelledException

Download the remote file to the local computer. If the paths provided are not absolute the current working directory is used.

Parameters:
remote - the path/name of the remote file
local - the path/name to place the file on the local computer
progress -
Returns:
Throws:
SftpStatusException
java.io.FileNotFoundException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String remote,
                              java.lang.String local,
                              FileTransferProgress progress,
                              boolean resume)
                       throws java.io.FileNotFoundException,
                              SftpStatusException,
                              SshException,
                              TransferCancelledException

Download the remote file to the local computer. If the paths provided are not absolute the current working directory is used.

Parameters:
remote - the path/name of the remote file
local - the path/name to place the file on the local computer
progress -
resume - attempt to resume an interrupted download
Returns:
Throws:
SftpStatusException
java.io.FileNotFoundException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String remote,
                              java.lang.String local,
                              boolean resume)
                       throws java.io.FileNotFoundException,
                              SftpStatusException,
                              SshException,
                              TransferCancelledException
Download the remote file into the local file.

Parameters:
remote -
local -
resume - attempt to resume an interrupted download
Returns:
Throws:
java.io.FileNotFoundException
SftpStatusException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String remote,
                              java.lang.String local)
                       throws java.io.FileNotFoundException,
                              SftpStatusException,
                              SshException,
                              TransferCancelledException
Download the remote file into the local file.

Parameters:
remote -
local -
Returns:
Throws:
java.io.FileNotFoundException
SftpStatusException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String remote,
                              java.io.OutputStream local,
                              FileTransferProgress progress)
                       throws SftpStatusException,
                              SshException,
                              TransferCancelledException

Download the remote file writing it to the specified OutputStream. The OutputStream is closed by this mehtod even if the operation fails.

Parameters:
remote - the path/name of the remote file
local - the OutputStream to write
progress -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String remote,
                              java.io.OutputStream local,
                              FileTransferProgress progress,
                              long position)
                       throws SftpStatusException,
                              SshException,
                              TransferCancelledException

Download the remote file writing it to the specified OutputStream. The OutputStream is closed by this mehtod even if the operation fails.

Parameters:
remote - the path/name of the remote file
local - the OutputStream to write
progress -
position - the position within the file to start reading from
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException

getInputStream

public java.io.InputStream getInputStream(java.lang.String remotefile)
                                   throws SftpStatusException,
                                          SshException
Create an InputStream for reading a remote file.

Parameters:
remotefile -
Returns:
Throws:
SftpStatusException
SshException

get

public SftpFileAttributes get(java.lang.String remote,
                              java.io.OutputStream local,
                              long position)
                       throws SftpStatusException,
                              SshException,
                              TransferCancelledException
Download the remote file into an OutputStream.

Parameters:
remote -
local -
position - the position from which to start reading the remote file
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException

get

public SftpFileAttributes get(java.lang.String remote,
                              java.io.OutputStream local)
                       throws SftpStatusException,
                              SshException,
                              TransferCancelledException
Download the remote file into an OutputStream.

Parameters:
remote -
local -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException

isClosed

public boolean isClosed()

Returns the state of the SFTP client. The client is closed if the underlying session channel is closed. Invoking the quit method of this object will close the underlying session channel.

Returns:
true if the client is still connected, otherwise false

put

public void put(java.lang.String local,
                FileTransferProgress progress,
                boolean resume)
         throws java.io.FileNotFoundException,
                SftpStatusException,
                SshException,
                TransferCancelledException

Upload a file to the remote computer.

Parameters:
local - the path/name of the local file
progress -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

put

public void put(java.lang.String local,
                FileTransferProgress progress)
         throws java.io.FileNotFoundException,
                SftpStatusException,
                SshException,
                TransferCancelledException

Upload a file to the remote computer.

Parameters:
local - the path/name of the local file
progress -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

put

public void put(java.lang.String local)
         throws java.io.FileNotFoundException,
                SftpStatusException,
                SshException,
                TransferCancelledException
Upload a file to the remote computer

Parameters:
local -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

put

public void put(java.lang.String local,
                boolean resume)
         throws java.io.FileNotFoundException,
                SftpStatusException,
                SshException,
                TransferCancelledException
Upload a file to the remote computer

Parameters:
local -
resume - attempt to resume after an interrupted transfer
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

put

public void put(java.lang.String local,
                java.lang.String remote,
                FileTransferProgress progress)
         throws java.io.FileNotFoundException,
                SftpStatusException,
                SshException,
                TransferCancelledException

Upload a file to the remote computer. If the paths provided are not absolute the current working directory is used.

Parameters:
local - the path/name of the local file
remote - the path/name of the destination file
progress -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

put

public void put(java.lang.String local,
                java.lang.String remote,
                FileTransferProgress progress,
                boolean resume)
         throws java.io.FileNotFoundException,
                SftpStatusException,
                SshException,
                TransferCancelledException

Upload a file to the remote computer. If the paths provided are not absolute the current working directory is used.

Parameters:
local - the path/name of the local file
remote - the path/name of the destination file
progress -
resume - attempt to resume after an interrupted transfer
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

put

public void put(java.lang.String local,
                java.lang.String remote,
                boolean resume)
         throws java.io.FileNotFoundException,
                SftpStatusException,
                SshException,
                TransferCancelledException
Upload a file to the remote computer

Parameters:
local -
remote -
resume - attempt to resume after an interrupted transfer
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

put

public void put(java.lang.String local,
                java.lang.String remote)
         throws java.io.FileNotFoundException,
                SftpStatusException,
                SshException,
                TransferCancelledException
Upload a file to the remote computer

Parameters:
local -
remote -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

put

public void put(java.io.InputStream in,
                java.lang.String remote,
                FileTransferProgress progress)
         throws SftpStatusException,
                SshException,
                TransferCancelledException

Upload a file to the remote computer reading from the specified InputStream. The InputStream is closed, even if the operation fails.

Parameters:
in - the InputStream being read
remote - the path/name of the destination file
progress -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException

put

public void put(java.io.InputStream in,
                java.lang.String remote,
                FileTransferProgress progress,
                long position)
         throws SftpStatusException,
                SshException,
                TransferCancelledException
Throws:
SftpStatusException
SshException
TransferCancelledException

getOutputStream

public java.io.OutputStream getOutputStream(java.lang.String remotefile)
                                     throws SftpStatusException,
                                            SshException
Create an OutputStream for writing to a remote file.

Parameters:
remotefile -
Returns:
Throws:
SftpStatusException
SshException

put

public void put(java.io.InputStream in,
                java.lang.String remote,
                long position)
         throws SftpStatusException,
                SshException,
                TransferCancelledException
Upload the contents of an InputStream to the remote computer.

Parameters:
in -
remote -
position -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException

put

public void put(java.io.InputStream in,
                java.lang.String remote)
         throws SftpStatusException,
                SshException,
                TransferCancelledException
Upload the contents of an InputStream to the remote computer.

Parameters:
in -
remote -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException

chown

public void chown(java.lang.String uid,
                  java.lang.String path)
           throws SftpStatusException,
                  SshException

Sets the user ID to owner for the file or directory.

Parameters:
uid - numeric user id of the new owner
path - the path to the remote file/directory
Throws:
SftpStatusException
SshException
TransferCancelledException

chgrp

public void chgrp(java.lang.String gid,
                  java.lang.String path)
           throws SftpStatusException,
                  SshException

Sets the group ID for the file or directory.

Parameters:
gid - the numeric group id for the new group
path - the path to the remote file/directory
Throws:
SftpStatusException
SshException

chmod

public void chmod(int permissions,
                  java.lang.String path)
           throws SftpStatusException,
                  SshException

Changes the access permissions or modes of the specified file or directory.

Modes determine who can read, change or execute a file.

Absolute modes are octal numbers specifying the complete list of
 attributes for the files; you specify attributes by OR'ing together
 these bits.

 0400       Individual read
 0200       Individual write
 0100       Individual execute (or list directory)
 0040       Group read
 0020       Group write
 0010       Group execute
 0004       Other read
 0002       Other write
 0001       Other execute 

Parameters:
permissions - the absolute mode of the file/directory
path - the path to the file/directory on the remote server
Throws:
SftpStatusException
SshException

umask

public void umask(java.lang.String umask)
           throws SshException
Sets the umask for this client.
 To give yourself full permissions for both files and directories and
 prevent the group and other users from having access:

   umask("077");

 This subtracts 077 from the system defaults for files and directories
 666 and 777. Giving a default access permissions for your files of
 600 (rw-------) and for directories of 700 (rwx------).

 To give all access permissions to the group and allow other users read
 and execute permission:

   umask("002");

 This subtracts 002 from the sytem defaults to give a default access permission
 for your files of 664 (rw-rw-r--) and for your directories of 775 (rwxrwxr-x).

 To give the group and other users all access except write access:

   umask("022");

 This subtracts 022 from the system defaults to give a default access permission
 for your files of 644 (rw-r--r--) and for your directories of 755 (rwxr-xr-x).
 

Parameters:
umask -
Throws:
SshException

rename

public void rename(java.lang.String oldpath,
                   java.lang.String newpath)
            throws SftpStatusException,
                   SshException

Rename a file on the remote computer.

Parameters:
oldpath - the old path
newpath - the new path
Throws:
SftpStatusException
SshException

rm

public void rm(java.lang.String path)
        throws SftpStatusException,
               SshException

Remove a file or directory from the remote computer.

Parameters:
path - the path of the remote file/directory
Throws:
SftpStatusException
SshException

rm

public void rm(java.lang.String path,
               boolean force,
               boolean recurse)
        throws SftpStatusException,
               SshException
Remove a file or directory on the remote computer with options to force deletion of existig files and recursion.

Parameters:
path -
force -
recurse -
Throws:
SftpStatusException
SshException

symlink

public void symlink(java.lang.String path,
                    java.lang.String link)
             throws SftpStatusException,
                    SshException

Create a symbolic link on the remote computer.

Parameters:
path - the path to the existing file
link - the new link
Throws:
SftpStatusException
SshException

stat

public SftpFileAttributes stat(java.lang.String path)
                        throws SftpStatusException,
                               SshException

Returns the attributes of the file from the remote computer.

Parameters:
path - the path of the file on the remote computer
Returns:
the attributes
Throws:
SftpStatusException
SshException

getAbsolutePath

public java.lang.String getAbsolutePath(java.lang.String path)
                                 throws SftpStatusException,
                                        SshException
Get the absolute path for a file.

Parameters:
path -
Returns:
Throws:
SftpStatusException
SshException

quit

public void quit()
          throws SshException

Close the SFTP client.

Throws:
SshException

copyLocalDirectory

public DirectoryOperation copyLocalDirectory(java.lang.String localdir,
                                             java.lang.String remotedir,
                                             boolean recurse,
                                             boolean sync,
                                             boolean commit,
                                             FileTransferProgress progress)
                                      throws java.io.FileNotFoundException,
                                             SftpStatusException,
                                             SshException,
                                             TransferCancelledException
Copy the contents of a local directory into a remote remote directory.

Parameters:
localdir - the path to the local directory
remotedir - the remote directory which will receive the contents
recurse - recurse through child folders
sync - synchronize the directories by removing files on the remote server that do not exist locally
commit - actually perform the operation. If false a DirectoryOperation will be returned so that the operation can be evaluated and no actual files will be created/transfered.
progress -
Returns:
Throws:
SftpStatusException
SshException
TransferCancelledException
java.io.FileNotFoundException

formatLongname

public static java.lang.String formatLongname(SftpFile file)
                                       throws SftpStatusException,
                                              SshException
Format a String with the details of the file.
 -rwxr-xr-x   1 mjos     staff      348911 Mar 25 14:29 t-filexfer
 

Parameters:
file -
Returns:
Throws:
SftpStatusException
SshException

formatLongname

public static java.lang.String formatLongname(SftpFileAttributes attrs,
                                              java.lang.String filename)
Format a String with the details of the file.
 -rwxr-xr-x   1 mjos     staff      348911 Mar 25 14:29 t-filexfer
 

Parameters:
attrs -
filename -
Returns:

copyRemoteDirectory

public DirectoryOperation copyRemoteDirectory(java.lang.String remotedir,
                                              java.lang.String localdir,
                                              boolean recurse,
                                              boolean sync,
                                              boolean commit,
                                              FileTransferProgress progress)
                                       throws java.io.FileNotFoundException,
                                              SftpStatusException,
                                              SshException,
                                              TransferCancelledException
Copy the contents of a remote directory to a local directory

Parameters:
remotedir - the remote directory whose contents will be copied.
localdir - the local directory to where the contents will be copied
recurse - recurse into child folders
sync - synchronized the directories by removing files and directories that do not exist on the remote server.
commit - actually perform the operation. If false the operation will be processed and a DirectoryOperation will be returned without actually transfering any files.
progress -
Returns:
Throws:
java.io.FileNotFoundException
SftpStatusException
SshException
TransferCancelledException


Copyright © 2003 3SP LTD. All Rights Reserved.