Class SftpClient

java.lang.Object
com.sshtools.j2ssh.SftpClient

public class SftpClient extends Object

Implements a Secure File Transfer (SFTP) client.

Since:
0.2.0
Version:
$Revision: 1.44 $
Author:
Lee David Painter
  • Method Details

    • umask

      public int umask(int umask)
      Sets the umask used by this client.
      Parameters:
      umask -
      Returns:
      the previous umask value
    • cd

      public void cd(String dir) throws IOException

      Changes the working directory on the remote server.

      Parameters:
      dir - the new working directory
      Throws:
      IOException - if an IO error occurs or the file does not exist
      FileNotFoundException
      Since:
      0.2.0
    • mkdir

      public void mkdir(String dir) throws IOException

      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:
      IOException - if an IO error occurs or if the directory already exists
      Since:
      0.2.0
    • mkdirs

      public void mkdirs(String dir)

      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 the stat method to return the directories attributes.

      Parameters:
      dir - the path of directories to create.
    • pwd

      public String pwd()

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

      Returns:
      the absolute path of the remote working directory.
      Since:
      0.2.0
    • ls

      public List ls() throws IOException

      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:
      IOException - if an IO error occurs
      Since:
      0.2.0
      See Also:
    • ls

      public List ls(String path) throws IOException

      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:
      IOException - if an IO error occurs
      Since:
      0.2.0
      See Also:
    • lcd

      public void lcd(String path) throws IOException

      Changes the local working directory.

      Parameters:
      path - the path to the new working directory
      Throws:
      IOException - if an IO error occurs
      Since:
      0.2.0
    • lpwd

      public String lpwd()

      Returns the absolute path to the local working directory.

      Returns:
      the absolute path of the local working directory.
      Since:
      0.2.0
    • get

      Download the remote file to the local computer.

      Parameters:
      path - the path to the remote file
      progress -
      Returns:
      Throws:
      IOException - if an IO error occurs of the file does not exist
      TransferCancelledException
      Since:
      0.2.0
    • get

      public FileAttributes get(String path) throws IOException
      Parameters:
      path -
      Returns:
      Throws:
      IOException
    • get

      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:
      IOException - if an IO error occurs or the file does not exist
      TransferCancelledException
      Since:
      0.2.0
    • get

      public FileAttributes get(String remote, String local) throws IOException
      Parameters:
      remote -
      local -
      Returns:
      Throws:
      IOException
    • get

      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:
      IOException - if an IO error occurs or the file does not exist
      TransferCancelledException
      Since:
      0.2.0
    • get

      public FileAttributes get(String remote, OutputStream local) throws IOException
      Parameters:
      remote -
      local -
      Returns:
      Throws:
      IOException
    • 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
      Since:
      0.2.0
    • put

      public void put(String local, FileTransferProgress progress) throws IOException, TransferCancelledException

      Upload a file to the remote computer.

      Parameters:
      local - the path/name of the local file
      progress -
      Throws:
      IOException - if an IO error occurs or the file does not exist
      TransferCancelledException
      Since:
      0.2.0
    • put

      public void put(String local) throws IOException
      Parameters:
      local -
      Throws:
      IOException
    • put

      public void put(String local, String remote, FileTransferProgress progress) throws IOException, 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 -
      Throws:
      IOException - if an IO error occurs or the file does not exist
      TransferCancelledException
      Since:
      0.2.0
    • put

      public void put(String local, String remote) throws IOException
      Parameters:
      local -
      remote -
      Throws:
      IOException
    • put

      public void put(InputStream in, String remote, FileTransferProgress progress) throws IOException, 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 -
      Throws:
      IOException - if an IO error occurs
      TransferCancelledException
      Since:
      0.2.0
    • put

      public void put(InputStream in, String remote) throws IOException
      Parameters:
      in -
      remote -
      Throws:
      IOException
    • chown

      public void chown(int uid, String path) throws IOException

      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:
      IOException - if an IO error occurs or the file does not exist
      Since:
      0.2.0
    • chgrp

      public void chgrp(int gid, String path) throws IOException

      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:
      IOException - if an IO error occurs or the file does not exist
      Since:
      0.2.0
    • chmod

      public void chmod(int permissions, String path) throws IOException

      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:
      IOException - if an IO error occurs or the file if not found
      Since:
      0.2.0
    • umask

      public void umask(String umask) throws IOException
      Throws:
      IOException
    • rename

      public void rename(String oldpath, String newpath) throws IOException

      Rename a file on the remote computer.

      Parameters:
      oldpath - the old path
      newpath - the new path
      Throws:
      IOException - if an IO error occurs
      Since:
      0.2.0
    • rm

      public void rm(String path) throws IOException

      Remove a file or directory from the remote computer.

      Parameters:
      path - the path of the remote file/directory
      Throws:
      IOException - if an IO error occurs
      Since:
      0.2.0
    • rm

      public void rm(String path, boolean force, boolean recurse) throws IOException
      Parameters:
      path -
      force -
      recurse -
      Throws:
      IOException
    • symlink

      public void symlink(String path, String link) throws IOException

      Create a symbolic link on the remote computer.

      Parameters:
      path - the path to the existing file
      link - the new link
      Throws:
      IOException - if an IO error occurs or the operation is not supported on the remote platform
      Since:
      0.2.0
    • stat

      public FileAttributes stat(String path) throws IOException

      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:
      IOException - if an IO error occurs or the file does not exist
      Since:
      0.2.0
      See Also:
    • getAbsolutePath

      public String getAbsolutePath(String path) throws IOException
      Parameters:
      path -
      Returns:
      Throws:
      IOException
    • quit

      public void quit() throws IOException

      Close the SFTP client.

      Throws:
      IOException
      Since:
      0.2.0
    • copyLocalDirectory

      public DirectoryOperation copyLocalDirectory(String localdir, String remotedir, boolean recurse, boolean sync, boolean commit, FileTransferProgress progress) throws IOException
      Parameters:
      localdir -
      remotedir -
      recurse -
      sync -
      commit -
      progress -
      Returns:
      Throws:
      IOException
    • addEventListener

      public void addEventListener(ChannelEventListener eventListener)
      Parameters:
      eventListener -
    • copyRemoteDirectory

      public DirectoryOperation copyRemoteDirectory(String remotedir, String localdir, boolean recurse, boolean sync, boolean commit, FileTransferProgress progress) throws IOException
      Parameters:
      remotedir -
      localdir -
      recurse -
      sync -
      commit -
      progress -
      Returns:
      Throws:
      IOException