public class SftpFileTransfer
extends com.jscape.filetransfer.AbstractFileTransfer
// connection information String hostname = "10.0.0.1"; String username = "jsmith"; String password = "secret"; // create com.jscape.inet.ssh.util.SshParameters instance SshParameters params = new SshParameters(hostname,username,password); // create SftpTransfer instance FileTransfer ftp = new SftpTransfer(params) // connect to server ftp.connect(); // print directory listing to console System.out.println(ftp.getDirListingAsString()); // disconnect from server sftp.disconnect();
ASCII, AUTO, BINARY, CURRENT_DIRECTORY, PARENT_DIRECTORY
Constructor and Description |
---|
SftpFileTransfer(SshParameters parameters)
Creates SftpTransfer instance.
|
SftpFileTransfer(SshParameters parameters,
SftpConfiguration configuration)
Creates SftpTransfer instance.
|
SftpFileTransfer(SshParameters parameters,
SftpConfiguration configuration,
java.util.logging.Logger logger)
Creates SftpTransfer instance.
|
SftpFileTransfer(java.lang.String host,
int port,
java.lang.String username,
java.lang.String password)
Creates SftpTransfer instance.
|
SftpFileTransfer(java.lang.String host,
int port,
java.lang.String username,
java.lang.String password,
SftpConfiguration configuration)
Creates SftpTransfer instance.
|
SftpFileTransfer(java.lang.String proxyType,
java.lang.String proxyHost,
int proxyPort,
java.lang.String proxyUsername,
java.lang.String proxyPassword,
java.lang.String hostname,
int port,
com.jscape.util.Time timeout,
java.lang.Integer socketTrafficClass,
java.lang.Boolean tcpNoDelay,
HostKeyVerificationService hostKeyVerifier,
java.lang.String username,
java.lang.String password,
java.security.KeyPair keyPair,
java.lang.String publicKeyAlgorithm,
ClientAuthentication clientAuthentication,
SftpConfiguration configuration,
int version,
int transferBufferSizeBytes,
boolean pipelinedTransferEnabled,
int pipelineWindowSize,
boolean uploadedFileTimestampPreservingRequired,
boolean downloadedFileTimestampPreservingRequired,
boolean checksumVerificationRequired,
java.io.File currentLocalDirectory,
java.lang.String currentRemoteDirectory,
java.util.logging.Logger logger,
java.util.Set<FileTransferListener> listeners) |
SftpFileTransfer(java.lang.String host,
java.lang.String username,
java.lang.String password)
Creates SftpTransfer instance.
|
SftpFileTransfer(java.lang.String host,
java.lang.String username,
java.lang.String password,
java.io.File keyFile)
Creates SftpTransfer instance.
|
Modifier and Type | Method and Description |
---|---|
void |
abortDownloadThread(java.lang.String remoteFile)
Abort download thread.
|
void |
abortDownloadThreads()
Abort all download threads.
|
void |
abortUploadThread(java.lang.String remoteFile)
Abort upload thread.
|
void |
abortUploadThreads()
Abort all upload threads.
|
SftpFileTransfer |
connect()
Connects to server and performs login.
|
FileTransfer |
copy()
Returns a copy of current transfer instance with same listeners.
|
void |
createSymbolicLink(java.lang.String remoteLinkFile,
java.lang.String remoteTargetFile)
Creates a symbolc link.
|
void |
deleteDir(java.lang.String remoteDirectory)
Deletes directory from server.
|
void |
deleteDir(java.lang.String remoteDirectory,
boolean recursive)
Deletes directory from server.
|
void |
deleteFile(java.lang.String remoteFile)
Deletes remote file from server.
|
void |
disconnect()
Quits session and disconnects from server.
|
java.io.File |
download(java.lang.String localFile,
java.lang.String remoteFile)
Downloads file from server.
|
void |
downloadDir(java.lang.String remoteDirectory,
int retryAttempts,
boolean checksumVerificationRequired,
int threadCount)
Downloads remote directory and contents.
|
boolean |
exists(java.lang.String remotePath)
Checks if the specified path exists on the remote server.
|
ClientAuthentication |
getClientAuthentication() |
SftpConfiguration |
getConfiguration() |
java.lang.String |
getDir()
Gets current working directory of server.
|
java.util.Enumeration<FileTransferRemoteFile> |
getDirListing(java.lang.String regex)
Gets file listing of files matching regular expression.
|
java.util.Enumeration<FileTransferRemoteFile> |
getDirListing(java.lang.String remoteDirectory,
java.lang.String regex) |
java.util.Date |
getFileAccessTimestamp(java.lang.String remoteFile)
Gets access date/timestamp of remote file from SSH server.
|
java.util.Date |
getFileCreationTimestamp(java.lang.String remoteFile)
Gets creation date/timestamp of remote file from SSH server.
|
int |
getFilePermissions(java.lang.String remoteFile)
Gets remote file permissions in UNIX chmod format (644, 777).
|
long |
getFilesize(java.lang.String remoteFile)
Gets filesize of remote file from server.
|
java.util.Date |
getFileTimestamp(java.lang.String remoteFile)
Gets date/timestamp of remote file from server.
|
HostKeyVerificationService |
getHostKeyVerifier() |
java.lang.Object |
getImplementation()
Gets underlying file transfer instance.
|
java.security.KeyPair |
getKeyPair() |
int |
getPipelineWindowSize() |
java.lang.String |
getPublicKeyAlgorithm() |
java.lang.Integer |
getSocketTrafficClass() |
java.lang.String |
getSymbolicLinkTargetPath(java.lang.String remoteFile)
Returns remote symbolic link target path.
|
java.lang.Boolean |
getTcpNoDelay() |
com.jscape.util.file.UnixFileType |
getType(java.lang.String remotePath)
Returns Unix file type of the specified remote path.
|
int |
getVersion() |
void |
interrupt()
Interrupts the current data transfer and sets interrupted flag to
true . |
boolean |
isConnected()
Checks if client is connected to server.
|
boolean |
isDirectory(java.lang.String remotePath) |
boolean |
isPipelinedTransferEnabled() |
void |
makeDirRecursive(java.lang.String remoteDirectory)
Makes directory on server, creating subdirectories if necessary.
|
java.lang.String |
realPath(java.lang.String path) |
void |
renameFile(java.lang.String sourceRemoteFile,
java.lang.String destinationRemoteFile)
Renames remote file on server.
|
void |
resumeDownload(java.io.OutputStream out,
java.lang.String remoteFile,
long remoteFileOffset) |
void |
resumeDownload(java.lang.String localFile,
java.lang.String remoteFile,
long remoteFileOffset)
Resumes download of file from server.
|
void |
resumeUpload(java.io.File localFile,
java.lang.String remoteFile,
long localFileOffset)
Resume upload of file to server.
|
void |
resumeUpload(java.io.InputStream in,
long length,
java.lang.String remoteFile,
long remoteFileOffset) |
boolean |
sameChecksum(java.io.File localFile,
java.lang.String remoteFile)
Checks a checksum equality of local and remote files.
|
SftpFileTransfer |
setClientAuthentication(ClientAuthentication value) |
SftpFileTransfer |
setConfiguration(SftpConfiguration value) |
FileTransfer |
setDir(java.lang.String remoteDirectory)
Sets current directory on server.
|
FileTransfer |
setDirUp()
Sets current directory on server to parent directory.
|
void |
setFileAccessTimestamp(java.lang.String remoteFile,
java.util.Date timestamp)
Sets file access time.
|
void |
setFileCreationTimestamp(java.lang.String remoteFile,
java.util.Date timestamp)
Sets file creation time.
|
void |
setFilePermissions(java.lang.String remoteFile,
int permissions)
Sets file permissions.
|
FileTransfer |
setFileTimestamp(java.lang.String remoteFile,
java.util.Date timestamp)
Sets date/timestamp of remote file from server
When using the FTP/S protocols the MDTM command is used.
|
SftpFileTransfer |
setHostKeyVerifier(HostKeyVerificationService value) |
SftpFileTransfer |
setKeyPair(java.io.File keyFile,
java.lang.String filePassword) |
SftpFileTransfer |
setKeyPair(java.security.KeyPair value) |
SftpFileTransfer |
setPipelinedTransferEnabled(boolean value) |
SftpFileTransfer |
setPipelineWindowSize(int value) |
void |
setPublicKeyAlgorithm(java.lang.String value) |
SftpFileTransfer |
setSocketTrafficClass(java.lang.Integer value) |
SftpFileTransfer |
setTcpNoDelay(java.lang.Boolean value) |
SftpFileTransfer |
setVersion(int value) |
void |
stat(java.lang.String path) |
void |
upload(java.io.File localFile,
java.lang.String remoteFile,
boolean shouldAppend)
Uploads file to server.
|
void |
uploadDir(java.io.File localDirectory,
int retryAttempts,
boolean checksumVerificationRequired,
java.lang.String tempFileExtension,
int threadCount)
Uploads local directory and contents.
|
java.lang.String |
uploadUnique(java.io.InputStream in,
java.lang.String remoteFilePrefix)
Uploads the file which is created in the current directory under a name unique to that directory.
|
addFileTransferListener, clearProxySettings, close, directoryStream, download, download, downloadDir, downloadDir, getBlockTransferSize, getDebug, getDebugStream, getDirListing, getDirListingAsString, getDirListingAsString, getHostname, getInputStream, getLocalDir, getLocalDirListing, getLocalDirListing, getMode, getNameListing, getNameListing, getOutputStream, getPassive, getPassword, getPort, getRecursiveDirectoryFileCount, getRecursiveDirectorySize, getRemoteFileList, getTimeout, getUsername, getWireEncoding, interrupted, isChecksumVerificationRequired, makeDir, makeLocalDir, mdelete, mdownload, mdownload, mupload, mupload, removeFileTransferListener, reset, resumeDownload, resumeUpload, resumeUpload, setAscii, setAuto, setBinary, setBlockTransferSize, setChecksumVerificationRequired, setDebug, setDebugStream, setFileModificationTime, setHostname, setLocalDir, setPassive, setPassword, setPort, setPreserveFileDownloadTimestamp, setPreserveFileUploadTimestamp, setProxyAuthentication, setProxyHost, setProxyType, setTimeout, setTimeZone, setUsername, setWireEncoding, test, upload, upload, upload, upload, upload, upload, upload, upload, upload, upload, upload, uploadDir, uploadDir, uploadDir, uploadUnique, uploadUnique
public SftpFileTransfer(java.lang.String proxyType, java.lang.String proxyHost, int proxyPort, java.lang.String proxyUsername, java.lang.String proxyPassword, java.lang.String hostname, int port, com.jscape.util.Time timeout, java.lang.Integer socketTrafficClass, java.lang.Boolean tcpNoDelay, HostKeyVerificationService hostKeyVerifier, java.lang.String username, java.lang.String password, java.security.KeyPair keyPair, java.lang.String publicKeyAlgorithm, ClientAuthentication clientAuthentication, SftpConfiguration configuration, int version, int transferBufferSizeBytes, boolean pipelinedTransferEnabled, int pipelineWindowSize, boolean uploadedFileTimestampPreservingRequired, boolean downloadedFileTimestampPreservingRequired, boolean checksumVerificationRequired, java.io.File currentLocalDirectory, java.lang.String currentRemoteDirectory, java.util.logging.Logger logger, java.util.Set<FileTransferListener> listeners)
public SftpFileTransfer(SshParameters parameters, SftpConfiguration configuration, java.util.logging.Logger logger)
parameters
- the connection parametersconfiguration
- the configurationpublic SftpFileTransfer(SshParameters parameters, SftpConfiguration configuration)
parameters
- the connection parametersconfiguration
- the configurationpublic SftpFileTransfer(SshParameters parameters)
parameters
- Connection parameters for SSH protocolpublic SftpFileTransfer(java.lang.String host, int port, java.lang.String username, java.lang.String password)
host
- the hostname of SSH serverport
- the port of SSH serverusername
- the username of SSH userpassword
- the password of SSH userpublic SftpFileTransfer(java.lang.String host, java.lang.String username, java.lang.String password)
host
- the hostname of SSH serverusername
- the username of SSH userpassword
- the password of SSH userpublic SftpFileTransfer(java.lang.String host, java.lang.String username, java.lang.String password, java.io.File keyFile)
host
- the hostname of SSH serverusername
- the username of SSH userpassword
- the password of SSH userkeyFile
- a private key for sessionpublic SftpFileTransfer(java.lang.String host, int port, java.lang.String username, java.lang.String password, SftpConfiguration configuration)
host
- the hostname of SSH serverport
- the port of SSH serverusername
- the username of SSH userpassword
- the password of SSH userconfiguration
- Sftp configuration instance.public java.lang.Integer getSocketTrafficClass()
public SftpFileTransfer setSocketTrafficClass(java.lang.Integer value)
public java.lang.Boolean getTcpNoDelay()
public SftpFileTransfer setTcpNoDelay(java.lang.Boolean value)
public HostKeyVerificationService getHostKeyVerifier()
public SftpFileTransfer setHostKeyVerifier(HostKeyVerificationService value)
public java.security.KeyPair getKeyPair()
public SftpFileTransfer setKeyPair(java.security.KeyPair value)
public SftpFileTransfer setKeyPair(java.io.File keyFile, java.lang.String filePassword)
public java.lang.String getPublicKeyAlgorithm()
public void setPublicKeyAlgorithm(java.lang.String value)
public ClientAuthentication getClientAuthentication()
public SftpFileTransfer setClientAuthentication(ClientAuthentication value)
public SftpConfiguration getConfiguration()
public SftpFileTransfer setConfiguration(SftpConfiguration value)
public int getVersion()
public SftpFileTransfer setVersion(int value)
public boolean isPipelinedTransferEnabled()
public SftpFileTransfer setPipelinedTransferEnabled(boolean value)
public int getPipelineWindowSize()
public SftpFileTransfer setPipelineWindowSize(int value)
public java.lang.Object getImplementation()
FileTransfer
public FileTransfer copy()
FileTransfer
public SftpFileTransfer connect() throws FileTransferException
FileTransfer
FileTransferException
- if an I/O or server error occurs.FileTransfer.setUsername(java.lang.String)
,
FileTransfer.setPassword(java.lang.String)
public void disconnect() throws FileTransferException
FileTransfer
FileTransferException
- if an I/O or server error occurs.public boolean isConnected()
FileTransfer
true
if connected false
otherwisepublic java.lang.String realPath(java.lang.String path) throws FileTransferException
FileTransferException
public void stat(java.lang.String path) throws FileTransferException
FileTransferException
public java.lang.String getDir()
FileTransfer
public FileTransfer setDir(java.lang.String remoteDirectory) throws FileTransferException
FileTransfer
remoteDirectory
- the remote directoryFileTransferException
- if an I/O or server error occurs.public FileTransfer setDirUp() throws FileTransferException
FileTransfer
FileTransferException
- if an I/O or server error occurs.public java.util.Enumeration<FileTransferRemoteFile> getDirListing(java.lang.String remoteDirectory, java.lang.String regex) throws FileTransferException
FileTransferException
public java.util.Enumeration<FileTransferRemoteFile> getDirListing(java.lang.String regex) throws FileTransferException
FileTransfer
regex
- the filename filterEnumeration
of FileTransferRemoteFile
objectsFileTransferException
- if an I/O or server error occurs.FileTransfer.getDirListingAsString(String)
,
FileTransfer.getNameListing(java.lang.String)
public void makeDirRecursive(java.lang.String remoteDirectory) throws FileTransferException
FileTransfer
remoteDirectory
- full path of directory to makeFileTransferException
- if an I/O or server error occurspublic void deleteDir(java.lang.String remoteDirectory) throws FileTransferException
FileTransfer
deleteDir
in interface FileTransfer
deleteDir
in class com.jscape.filetransfer.AbstractFileTransfer
remoteDirectory
- the directory to removeFileTransferException
- if an I/O or server error occurs.public void deleteDir(java.lang.String remoteDirectory, boolean recursive) throws FileTransferException
FileTransfer
recursive
parameter will be used to determine if files and subdirectories within
directory should be removed.remoteDirectory
- the directory to removerecursive
- true
if it should delete files and subdirectories within directoryFileTransferException
- if an I/O or server error occurs.public boolean exists(java.lang.String remotePath) throws FileTransferException
FileTransfer
remotePath
- a path to verifytrue
if path exists; false
otherwiseFileTransferException
- if an error occurspublic boolean isDirectory(java.lang.String remotePath) throws FileTransferException
FileTransferException
public com.jscape.util.file.UnixFileType getType(java.lang.String remotePath) throws FileTransferException
remotePath
- a remote pathFileTransferException
- if an error occurspublic java.lang.String getSymbolicLinkTargetPath(java.lang.String remoteFile) throws FileTransferException
remoteFile
- the remote link fileFileTransferException
- if an error occurspublic long getFilesize(java.lang.String remoteFile) throws FileTransferException
FileTransfer
remoteFile
- the remote fileFileTransferException
- if an I/O or protocol error occurs.public java.util.Date getFileCreationTimestamp(java.lang.String remoteFile) throws FileTransferException
remoteFile
- the remote filenameFileTransferException
- if an I/O or SSH error occurs.public void setFileCreationTimestamp(java.lang.String remoteFile, java.util.Date timestamp) throws FileTransferException
remoteFile
- the remote file nametimestamp
- the file creation timeFileTransferException
- if an I/O or SSH error occurs.public java.util.Date getFileAccessTimestamp(java.lang.String remoteFile) throws FileTransferException
remoteFile
- the remote filenameFileTransferException
- if an I/O or SSH error occurs.public void setFileAccessTimestamp(java.lang.String remoteFile, java.util.Date timestamp) throws FileTransferException
remoteFile
- the remote file nametimestamp
- the file access timeFileTransferException
- if an I/O or SSH error occurs.public java.util.Date getFileTimestamp(java.lang.String remoteFile) throws FileTransferException
FileTransfer
remoteFile
- the remote fileFileTransferException
- if an I/O or server error occurs.public FileTransfer setFileTimestamp(java.lang.String remoteFile, java.util.Date timestamp) throws FileTransferException
FileTransfer
remoteFile
- the remote filetimestamp
- the new date/timestampFileTransferException
- if an I/O or server error occurs.public int getFilePermissions(java.lang.String remoteFile) throws FileTransferException
remoteFile
- the remote filenameFileTransferException
- if an I/O or SSH error occurs.public void setFilePermissions(java.lang.String remoteFile, int permissions) throws FileTransferException
remoteFile
- remote file namepermissions
- UNIX chmod file permissionsFileTransferException
- if an I/O or SSH error occurs.public boolean sameChecksum(java.io.File localFile, java.lang.String remoteFile) throws FileTransferException
FileTransfer
localFile
- a local fileremoteFile
- a remote filetrue
if checksums are equal; false
otherwiseFileTransferException
- if an error occurspublic void createSymbolicLink(java.lang.String remoteLinkFile, java.lang.String remoteTargetFile) throws FileTransferException
remoteLinkFile
- a link fileremoteTargetFile
- a link target fileFileTransferException
- if an error occurspublic void renameFile(java.lang.String sourceRemoteFile, java.lang.String destinationRemoteFile) throws FileTransferException
FileTransfer
sourceRemoteFile
- name of file to renamedestinationRemoteFile
- new name of fileFileTransferException
- if an I/O or server error occurs.public void deleteFile(java.lang.String remoteFile) throws FileTransferException
FileTransfer
remoteFile
- name of file to deleteFileTransferException
- if an I/O or server error occurs.public java.io.File download(java.lang.String localFile, java.lang.String remoteFile) throws FileTransferException
FileTransfer
localFile
- destination filenameremoteFile
- remote filenameFileTransferException
- if an I/O or server error occurs.FileTransfer.setLocalDir(java.io.File)
public void resumeDownload(java.io.OutputStream out, java.lang.String remoteFile, long remoteFileOffset) throws FileTransferException
FileTransferException
public void resumeDownload(java.lang.String localFile, java.lang.String remoteFile, long remoteFileOffset) throws FileTransferException
FileTransfer
localFile
- local file nameremoteFile
- the file to downloadremoteFileOffset
- file offset in bytesFileTransferException
- if an I/O or server error occurs.public void downloadDir(java.lang.String remoteDirectory, int retryAttempts, boolean checksumVerificationRequired, int threadCount) throws FileTransferException
FileTransfer
remoteDirectory
- the directory to downloadretryAttempts
- retry limit if download failschecksumVerificationRequired
- whether or not to perform checksum after download, only supported in FTP/S protocols and not by all FTP serversthreadCount
- the thread countFileTransferException
- if an I/O or protocol error occurs.public void upload(java.io.File localFile, java.lang.String remoteFile, boolean shouldAppend) throws FileTransferException
FileTransfer
file
is a directory then directory and entire contents are uploaded.localFile
- the local file to uploadremoteFile
- the destination filename of uploadshouldAppend
- true
to append to remote file on server, false
otherwiseFileTransferException
- if an I/O or server related error occurspublic java.lang.String uploadUnique(java.io.InputStream in, java.lang.String remoteFilePrefix) throws FileTransferException
FileTransfer
in
- the InputStream
to upload file fromremoteFilePrefix
- the filename to be used as seed value for determining unique filenameFileTransferException
- if an I/O or protocol error occurs.public void resumeUpload(java.io.InputStream in, long length, java.lang.String remoteFile, long remoteFileOffset) throws FileTransferException
FileTransferException
public void resumeUpload(java.io.File localFile, java.lang.String remoteFile, long localFileOffset) throws FileTransferException
FileTransfer
FileTransferException
public void uploadDir(java.io.File localDirectory, int retryAttempts, boolean checksumVerificationRequired, java.lang.String tempFileExtension, int threadCount) throws FileTransferException
FileTransfer
localDirectory
- the directory to uploadretryAttempts
- retry number when an error occurschecksumVerificationRequired
- whether or not to perform checksum verificationtempFileExtension
- the temporary extension which will be used when uploading files or null
to use current extensionFileTransferException
- if an I/O or protocol related error occurs.public void interrupt()
FileTransfer
true
.
After invoking this method you must reset the interrupted flag to false
.
before transferring any files.interrupt
in interface FileTransfer
interrupt
in class com.jscape.filetransfer.AbstractFileTransfer
FileTransfer.reset()
public void abortUploadThreads()
FileTransfer
public void abortUploadThread(java.lang.String remoteFile)
FileTransfer
public void abortDownloadThreads()
FileTransfer
public void abortDownloadThread(java.lang.String remoteFile)
FileTransfer
Copyright © JSCAPE LLC. 1999-2023. All Rights Reserved