com.sshtools.j2ssh

Class SftpClient


public class SftpClient
extends java.lang.Object

Implements a Secure File Transfer (SFTP) client.
Version:
$Revision: 1.44 $
Author:
Lee David Painter
Since:
0.2.0

Method Summary

void
addEventListener(ChannelEventListener eventListener)
void
cd(String dir)
Changes the working directory on the remote server.
void
chgrp(int gid, String path)
Sets the group ID for the file or directory.
void
chmod(int permissions, String path)
Changes the access permissions or modes of the specified file or directory.
void
chown(int uid, String path)
Sets the user ID to owner for the file or directory.
DirectoryOperation
copyLocalDirectory(String localdir, String remotedir, boolean recurse, boolean sync, boolean commit, FileTransferProgress progress)
DirectoryOperation
copyRemoteDirectory(String remotedir, String localdir, boolean recurse, boolean sync, boolean commit, FileTransferProgress progress)
FileAttributes
get(String path)
FileAttributes
get(String remote, OutputStream local)
FileAttributes
get(String remote, OutputStream local, FileTransferProgress progress)
Download the remote file writing it to the specified OutputStream.
FileAttributes
get(String remote, String local)
FileAttributes
get(String remote, String local, FileTransferProgress progress)
Download the remote file to the local computer.
FileAttributes
get(String path, FileTransferProgress progress)
Download the remote file to the local computer.
String
getAbsolutePath(String path)
boolean
isClosed()
Returns the state of the SFTP client.
void
lcd(String path)
Changes the local working directory.
String
lpwd()
Returns the absolute path to the local working directory.
List
ls()
List the contents of the current remote working directory.
List
ls(String path)
List the contents remote directory.
void
mkdir(String dir)
Creates a new directory on the remote server.
void
mkdirs(String dir)
Create a directory or set of directories.
void
put(InputStream in, String remote)
void
put(InputStream in, String remote, FileTransferProgress progress)
Upload a file to the remote computer reading from the specified InputStream.
void
put(String local)
void
put(String local, String remote)
void
put(String local, String remote, FileTransferProgress progress)
Upload a file to the remote computer.
void
put(String local, FileTransferProgress progress)
Upload a file to the remote computer.
String
pwd()
Returns the absolute path name of the current remote working directory.
void
quit()
Close the SFTP client.
void
rename(String oldpath, String newpath)
Rename a file on the remote computer.
void
rm(String path)
Remove a file or directory from the remote computer.
void
rm(String path, boolean force, boolean recurse)
FileAttributes
stat(String path)
Returns the attributes of the file from the remote computer.
void
symlink(String path, String link)
Create a symbolic link on the remote computer.
void
umask(String umask)
int
umask(int umask)
Sets the umask used by this client.

Method Details

addEventListener

public void addEventListener(ChannelEventListener eventListener)
Parameters:
eventListener -

cd

public void cd(String dir)
            throws IOException
Changes the working directory on the remote server.
Parameters:
dir - the new working directory
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
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
Since:
0.2.0

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
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:

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:

get

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

get

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

get

public FileAttributes get(String remote,
                          OutputStream local,
                          FileTransferProgress progress)
            throws IOException,
                   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:
Since:
0.2.0

get

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

get

public FileAttributes get(String remote,
                          String local,
                          FileTransferProgress progress)
            throws IOException,
                   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:
Since:
0.2.0

get

public FileAttributes get(String path,
                          FileTransferProgress progress)
            throws IOException,
                   TransferCancelledException
Download the remote file to the local computer.
Parameters:
path - the path to the remote file
progress -
Returns:
Since:
0.2.0

getAbsolutePath

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

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

lcd

public void lcd(String path)
            throws IOException
Changes the local working directory.
Parameters:
path - the path to the new working directory
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

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
Since:
0.2.0

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
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
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.

put

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

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 -
Since:
0.2.0

put

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

put

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

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 -
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 -
Since:
0.2.0

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

quit

public void quit()
            throws IOException
Close the SFTP client.
Since:
0.2.0

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
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
Since:
0.2.0

rm

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

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
Since:
0.2.0

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
Since:
0.2.0

umask

public void umask(String umask)
            throws IOException

umask

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

Copyright © 2002-2003 Lee David Painter & Contributors. All Rights Reserved.