Interface FtpClient
-
- All Known Implementing Classes:
FTPClientWrapper
public interface FtpClient
What VFS expects from an FTP client to provide.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description booleanabort()Aborts the current operation.java.io.OutputStreamappendFileStream(java.lang.String relPath)Returns an OutputStream through which data can be written to append to a file on the server with the given name.booleancompletePendingCommand()There are a few FTPClient methods that do not complete the entire sequence of FTP commands to complete a transaction.booleandeleteFile(java.lang.String relPath)Deletes a file on the FTP server.voiddisconnect()Sends the FTP QUIT command to the server, receive the reply, and return the reply code.default intgetReplyCode()Gets the integer value of the reply code of the last FTP reply.java.lang.StringgetReplyString()Gets the entire text of the last FTP server response exactly as it was received, including all end of line markers in NETASCII format.booleanhasFeature(java.lang.String feature)Queries the server for a supported feature.booleanisConnected()Tests if the client is currently connected to a server.org.apache.commons.net.ftp.FTPFile[]listFiles(java.lang.String relPath)Using the default system autodetect mechanism, obtain a list of file information for the current working directory or for just a single file.booleanmakeDirectory(java.lang.String relPath)Creates a new subdirectory on the FTP server in the current directory (if a relative pathname is given) or where specified (if an absolute pathname is given).default java.time.InstantmdtmInstant(java.lang.String relPath)Sends the MDTM command to get a file's date and time information after file transfer.booleanremoveDirectory(java.lang.String relPath)Removes a directory on the FTP server (if empty).booleanrename(java.lang.String from, java.lang.String to)Renames a remote file.java.io.InputStreamretrieveFileStream(java.lang.String relPath)Returns an InputStream from which a named file from the server can be read.default java.io.InputStreamretrieveFileStream(java.lang.String relPath, int bufferSize)Returns an InputStream from which a named file from the server can be read.java.io.InputStreamretrieveFileStream(java.lang.String relPath, long restartOffset)Returns an InputStream from which a named file from the server can be read.default voidsetBufferSize(int bufferSize)Sets the buffer size for buffered data streams.java.io.OutputStreamstoreFileStream(java.lang.String relPath)Returns an OutputStream through which data can be written to store a file on the server using the given name.
-
-
-
Method Detail
-
abort
boolean abort() throws java.io.IOException
Aborts the current operation.- Returns:
- true if aborted.
- Throws:
java.io.IOException- If an I/O error occurs
-
appendFileStream
java.io.OutputStream appendFileStream(java.lang.String relPath) throws java.io.IOException
Returns an OutputStream through which data can be written to append to a file on the server with the given name.- Parameters:
relPath- The name of the remote file.- Returns:
- An OutputStream through which the remote file can be appended.
- Throws:
java.io.IOException- If an I/O error occurs.
-
completePendingCommand
boolean completePendingCommand() throws java.io.IOException
There are a few FTPClient methods that do not complete the entire sequence of FTP commands to complete a transaction. These commands require some action by the programmer after the reception of a positive intermediate command. After the programmer's code completes its actions, it must call this method to receive the completion reply from the server and verify the success of the entire transaction.- Returns:
- true if successfully completed, false if not.
- Throws:
java.io.IOException- If an I/O error occurs.
-
deleteFile
boolean deleteFile(java.lang.String relPath) throws java.io.IOException
Deletes a file on the FTP server.- Parameters:
relPath- The relPath of the file to be deleted.- Returns:
- true if successfully completed, false if not.
- Throws:
java.io.IOException- If an I/O error occurs.
-
disconnect
void disconnect() throws java.io.IOException
Sends the FTP QUIT command to the server, receive the reply, and return the reply code.- Throws:
java.io.IOException- If an I/O error occurs.
-
getReplyCode
default int getReplyCode() throws java.io.IOException
Gets the integer value of the reply code of the last FTP reply.- Returns:
- The integer value of the reply code of the last FTP reply.
- Throws:
java.io.IOException- If an I/O error occurs.
-
getReplyString
java.lang.String getReplyString() throws java.io.IOException
Gets the entire text of the last FTP server response exactly as it was received, including all end of line markers in NETASCII format.- Returns:
- The entire text from the last FTP response as a String.
- Throws:
java.io.IOException- If an I/O error occurs.
-
hasFeature
boolean hasFeature(java.lang.String feature) throws java.io.IOException
Queries the server for a supported feature.- Parameters:
feature- the name of the feature, converted to upper case.- Returns:
trueif the feature is present,falseif the feature is not present or the FTP command failed.- Throws:
java.io.IOException- If an I/O error occurs.- Since:
- 2.8.0
-
isConnected
boolean isConnected() throws FileSystemException
Tests if the client is currently connected to a server.- Returns:
- true if the client is currently connected to a server, false otherwise.
- Throws:
FileSystemException- If an I/O error occurs.
-
listFiles
org.apache.commons.net.ftp.FTPFile[] listFiles(java.lang.String relPath) throws java.io.IOException
Using the default system autodetect mechanism, obtain a list of file information for the current working directory or for just a single file.TODO This interface should not leak Apache Commons NET types like FTPFile
- Parameters:
relPath- The file or directory to list.- Returns:
- an array of FTPFile.
- Throws:
java.io.IOException- If an I/O error occurs.
-
makeDirectory
boolean makeDirectory(java.lang.String relPath) throws java.io.IOException
Creates a new subdirectory on the FTP server in the current directory (if a relative pathname is given) or where specified (if an absolute pathname is given).- Parameters:
relPath- The pathname of the directory to create.- Returns:
- true if successfully completed, false if not.
- Throws:
java.io.IOException- If an I/O error occurs.
-
mdtmInstant
default java.time.Instant mdtmInstant(java.lang.String relPath) throws java.io.IOException
Sends the MDTM command to get a file's date and time information after file transfer. It is typically more accurate than the"LIST"command response. Time values are always represented in UTC (GMT), and in the Gregorian calendar regardless of what calendar may have been in use at the date and time the file was last modified.NOTE: not all remote FTP servers support
MDTM.- Parameters:
relPath- The relative path of the file object to executeMDTMcommand against- Returns:
- new
Instantobject containing theMDTMtimestamp. - Throws:
java.io.IOException- If an I/O error occurs.- Since:
- 2.8.0
-
removeDirectory
boolean removeDirectory(java.lang.String relPath) throws java.io.IOException
Removes a directory on the FTP server (if empty).- Parameters:
relPath- The pathname of the directory to remove.- Returns:
- true if successfully completed, false if not.
- Throws:
java.io.IOException- If an I/O error occurs.
-
rename
boolean rename(java.lang.String from, java.lang.String to) throws java.io.IOException
Renames a remote file.- Parameters:
from- The name of the remote file to rename.to- The new name of the remote file.- Returns:
- true if successfully completed, false if not.
- Throws:
java.io.IOException- If an I/O error occurs.
-
retrieveFileStream
java.io.InputStream retrieveFileStream(java.lang.String relPath) throws java.io.IOException
Returns an InputStream from which a named file from the server can be read.- Parameters:
relPath- The name of the remote file.- Returns:
- An InputStream from which the remote file can be read.
- Throws:
java.io.IOException- If an I/O error occurs.
-
retrieveFileStream
default java.io.InputStream retrieveFileStream(java.lang.String relPath, int bufferSize) throws java.io.IOException
Returns an InputStream from which a named file from the server can be read.- Parameters:
relPath- The name of the remote file.bufferSize- buffer size.- Returns:
- An InputStream from which the remote file can be read.
- Throws:
java.io.IOException- If an I/O error occurs.
-
retrieveFileStream
java.io.InputStream retrieveFileStream(java.lang.String relPath, long restartOffset) throws java.io.IOException
Returns an InputStream from which a named file from the server can be read.- Parameters:
relPath- The name of the remote file.restartOffset- restart offset.- Returns:
- An InputStream from which the remote file can be read.
- Throws:
java.io.IOException- If an I/O error occurs.
-
setBufferSize
default void setBufferSize(int bufferSize) throws FileSystemException
Sets the buffer size for buffered data streams.- Parameters:
bufferSize- The size of the buffer.- Throws:
FileSystemException- If an I/O error occurs.
-
storeFileStream
java.io.OutputStream storeFileStream(java.lang.String relPath) throws java.io.IOException
Returns an OutputStream through which data can be written to store a file on the server using the given name.- Parameters:
relPath- The name to give the remote file.- Returns:
- An OutputStream through which the remote file can be written.
- Throws:
java.io.IOException- If an I/O error occurs.
-
-