Class FTP
- Direct Known Subclasses:
FTPClient
To derive the full benefits of the FTP class requires some knowledge of the FTP protocol defined in RFC 959. However, there is no reason why you should have
to use the FTP class. The FTPClient class, derived from FTP, implements all the functionality required of an FTP client.
The FTP class is made public to provide access to various FTP constants and to make it easier for adventurous programmers (or those with special needs) to
interact with the FTP protocol and implement their own clients. A set of methods with names corresponding to the FTP command names are provided to facilitate
this interaction.
You should keep in mind that the FTP server may choose to prematurely close a connection if the client has been idle for longer than a given time period
(usually 900 seconds). The FTP class will detect a premature FTP server connection closing when it receives a
FTPReply.SERVICE_NOT_AVAILABLE response to a command. When that occurs, the FTP class
method encountering that reply will throw an FTPConnectionClosedException. FTPConectionClosedException is a
subclass of IOException and therefore need not be caught separately, but if you are going to catch it separately, its catch block must appear
before the more general IOException catch block. When you encounter an FTPConnectionClosedException , you
must disconnect the connection with disconnect() to properly clean up the system resources used by FTP. Before disconnecting, you may
check the last reply code and text with getReplyCode, getReplyString, and getReplyStrings. You may avoid server disconnections while the client is idle by periodically sending NOOP commands to the server.
Rather than list it separately for each method, we mention here that every method communicating with the server and throwing an IOException can also throw a
MalformedServerReplyException , which is a subclass of IOException. A MalformedServerReplyException will be thrown when the
reply received from the server deviates enough from the protocol specification that it cannot be interpreted in a useful manner despite attempts to be as
lenient as possible.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ProtocolCommandSupportA ProtocolCommandSupport object used to manage the registering of ProtocolCommandListeners and the firing of ProtocolCommandEvents.protected StringThe character encoding to be used by the FTP control connection.protected BufferedReaderWraps SocketClient.protected BufferedWriterWraps SocketClient.protected booleanWhether we've processed the last reply lines.protected intThe last FTP reply code.The lines of text from the last FTP server response.protected StringThe text from the last FTP server response.static final intA constant used to indicate the file(s) being transferred should be treated as ASCII.static final intA constant used to indicate the file(s) being transferred should be treated as a binary image, i.e., no translations should be performed.static final intA constant used to indicate a file is to be transferred as a series of blocks.static final intA constant used to indicate a text file contains ASA vertical format control characters.static final intA constant used to indicate a file is to be transferred as FTP compressed data.static final StringThe default character encoding used for communicating over an FTP control connection.static final intThe default FTP data port (20).static final intThe default FTP control port (21).static final intA constant used to indicate a file is to be transferred as FTP (un)compressing data in the "deflate" compression format.static final intA constant used to indicate the file(s) being transferred should be treated as EBCDIC.static final intA constant used to indicate a file is to be treated as a continuous sequence of bytes.static final intA constant used to indicate the file(s) being transferred should be treated as a local type.static final intA constant used for text files to indicate a non-print text format.static final intA constant used to indicate a file is to be treated as a set of independent indexed pages.static final intA constant used to indicate a file is to be treated as a sequence of records.static final intLength of the FTP reply code (3 alphanumerics)static final intA constant used to indicate a file is to be transferred as a stream of bytes.protected booleanThis is used to signal whether a block of multiline responses beginning with xxx must be terminated by the same numeric code xxx See section 4.2 of RFC 959 for details.static final intA constant used to indicate a text file contains format vertical format control characters.Fields inherited from class SocketClient
_defaultPort_, _hostname_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL, remoteInetSocketAddress -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidGets the reply, but don't pass it to command listeners.protected void__noop()Send a noop and get the reply without reporting to the command listener.protected voidInitiates control connections and gets initial reply.protected void_connectAction_(Reader socketIsReader) Initiates control connections and gets initial reply.intabor()Sends the FTPABORcommand to the server, receive the reply, and return the reply code.intSends the FTPACCTcommand to the server, receive the reply, and return the reply code.intallo(int bytes) Sends the FTPALLOcommand to the server, receive the reply, and return the reply code.intallo(int bytes, int recordSize) Sends the FTPALLOcommand to the server, receive the reply, and return the reply code.intallo(long bytes) Sends the FTPALLOcommand to the server, receive the reply, and return the reply code.intallo(long bytes, int recordSize) Sends the FTPALLOcommand to the server, receive the reply, and return the reply code.intSends the FTPAPPEcommand to the server, receive the reply, and return the reply code.intcdup()Sends the FTPCDUPcommand to the server, receive the reply, and return the reply code.intSends the FTPCWDcommand to the server, receive the reply, and return the reply code.intSends the FTPDELEcommand to the server, receive the reply, and return the reply code.voidCloses the control connection to the FTP server and sets to null some internal data so that the memory may be reclaimed by the garbage collector.inteprt(InetAddress host, int port) Sends the FTPEPRTcommand to the server, receive the reply, and return the reply code.intepsv()Sends the FTPEPSVcommand to the server, receive the reply, and return the reply code.intfeat()Sends the FTPFEATcommand to the server, receive the reply, and return the reply code.protected ProtocolCommandSupportGets protocol command support.Gets the character encoding used to communicate over the control connection.intgetReply()Gets a reply from the FTP server and returns the integer reply code.intGets the integer value of the reply code of the last FTP reply.Gets the entire text of the last FTP server response exactly as it was received, including all end of line markers in NETASCII format.String[]Gets the lines of text from the last FTP server response as an array of strings, one entry per line.inthelp()Sends the FTPHELPcommand to the server, receive the reply, and return the reply code.intSends the FTPHELPcommand to the server, receive the reply, and return the reply code.booleanTests whether strict multiline parsing is enabled, as per RFC 959, section 4.2.booleanTests whether strict non-multiline parsing is enabled, as per RFC 959, section 4.2.intlist()Sends the FTPLISTcommand to the server, receive the reply, and return the reply code.intSends the FTPLISTcommand to the server, receive the reply, and return the reply code.intSends the MDTM command for the given file.intSends the FTPMFMTcommand to the server, receive the reply, and return the reply code.intSends the FTPMKDcommand to the server, receive the reply, and return the reply code.intmlsd()Sends the FTPMLSDcommand to the server, receive the reply, and return the reply code.intSends the FTPMLSDcommand to the server, receive the reply, and return the reply code.intmlst()Sends the FTPMLSTcommand to the server, receive the reply, and return the reply code.intSends the FTPMLSTcommand to the server, receive the reply, and return the reply code.intmode(int mode) Sends the FTPMODEcommand to the server, receive the reply, and return the reply code.intnlst()Sends the FTPNLSTcommand to the server, receive the reply, and return the reply code.intSends the FTPNLSTcommand to the server, receive the reply, and return the reply code.intnoop()Sends the FTPNOOPcommand to the server, receive the reply, and return the reply code.intSends the FTPOPTScommand to the server, receive the reply, and return the reply code.intSends the FTPOPTScommand to the server, receive the reply, and return the reply code.intSends the FTPPASScommand to the server, receive the reply, and return the reply code.intpasv()Sends the FTPPASVcommand to the server, receive the reply, and return the reply code.intport(InetAddress host, int port) Sends the FTPPORTcommand to the server, receive the reply, and return the reply code.intpwd()Sends the FTPPWDcommand to the server, receive the reply, and return the reply code.intquit()Sends the FTPQUITcommand to the server, receive the reply, and return the reply code.intrein()Sends the FTPREINcommand to the server, receive the reply, and return the reply code.intSends the FTPRESTcommand to the server, receive the reply, and return the reply code.intSends the FTPRETRcommand to the server, receive the reply, and return the reply code.intSends the FTPRMDcommand to the server, receive the reply, and return the reply code.intSends the FTPRNFRcommand to the server, receive the reply, and return the reply code.intSends the FTPRNTOcommand to the server, receive the reply, and return the reply code.intsendCommand(int command) Sends an FTP command with no arguments to the server, waits for a reply and returns the numerical response code.intsendCommand(int command, String args) Deprecated.intsendCommand(String command) Sends an FTP command with no arguments to the server, waits for a reply and returns the numerical response code.intsendCommand(String command, String args) Sends an FTP command to the server, waits for a reply and returns the numerical response code.intsendCommand(FTPCmd command) Sends an FTP command to the server, waits for a reply and returns the numerical response code.intsendCommand(FTPCmd command, String args) Sends an FTP command to the server, waits for a reply and returns the numerical response code.voidsetControlEncoding(String encoding) Sets the character encoding to be used by the FTP control connection.voidsetControlEncoding(Charset charset) Sets the character encoding to be used by the FTP control connection.voidsetStrictMultilineParsing(boolean strictMultilineParsing) Sets strict multiline parsing.voidsetStrictReplyParsing(boolean strictReplyParsing) Sets strict non-multiline parsing.intSends the FTPSITEcommand to the server, receive the reply, and return the reply code.intSends the FTPSIZEcommand to the server, receive the reply, and return the reply code.intSends the FTPSMNTcommand to the server, receive the reply, and return the reply code.intstat()Sends the FTPSTATcommand to the server, receive the reply, and return the reply code.intSends the FTPSTATcommand to the server, receive the reply, and return the reply code.intSends the FTPSTORcommand to the server, receive the reply, and return the reply code.intstou()Sends the FTPSTOUcommand to the server, receive the reply, and return the reply code.intSends the FTPSTOUcommand to the server, receive the reply, and return the reply code.intstru(int structure) Sends the FTPSTRUcommand to the server, receive the reply, and return the reply code.intsyst()Sends the FTPSYSTcommand to the server, receive the reply, and return the reply code.inttype(int fileType) Sends the FTPTYPEcommand to the server, receive the reply, and return the reply code.inttype(int fileType, int formatOrByteSize) Sends the FTPTYPEcommand for text files to the server, receive the reply, and return the reply code.intSends the FTPUSERcommand to the server, receive the reply, and return the reply code.Methods inherited from class SocketClient
addProtocolCommandListener, applySocketAttributes, checkOpenOutputStream, connect, connect, connect, connect, connect, connect, createCommandSupport, fireCommandSent, fireReplyReceived, getCharset, getCharsetName, getConnectTimeout, getDefaultPort, getDefaultTimeout, getHostAddress, getHostAddress, getKeepAlive, getLocalAddress, getLocalPort, getProxy, getReceiveBufferSize, getRemoteAddress, getRemoteInetSocketAddress, getRemotePort, getSendBufferSize, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isAvailable, isConnected, removeProtocolCommandListener, setCharset, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setProxy, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote
-
Field Details
-
DEFAULT_DATA_PORT
-
DEFAULT_PORT
-
ASCII_FILE_TYPE
A constant used to indicate the file(s) being transferred should be treated as ASCII. This is the default file type. All constants ending inFILE_TYPEare used to indicate file types.- See Also:
-
EBCDIC_FILE_TYPE
A constant used to indicate the file(s) being transferred should be treated as EBCDIC. Note however that there are several EBCDIC formats. All constants ending inFILE_TYPEare used to indicate file types.- See Also:
-
BINARY_FILE_TYPE
A constant used to indicate the file(s) being transferred should be treated as a binary image, i.e., no translations should be performed. All constants ending inFILE_TYPEare used to indicate file types.- See Also:
-
LOCAL_FILE_TYPE
A constant used to indicate the file(s) being transferred should be treated as a local type. All constants ending inFILE_TYPEare used to indicate file types.- See Also:
-
NON_PRINT_TEXT_FORMAT
A constant used for text files to indicate a non-print text format. This is the default format. All constants ending inTEXT_FORMATare used to indicate text formatting for text transfers (both ASCII and EBCDIC).- See Also:
-
TELNET_TEXT_FORMAT
A constant used to indicate a text file contains format vertical format control characters. All constants ending inTEXT_FORMATare used to indicate text formatting for text transfers (both ASCII and EBCDIC).- See Also:
-
CARRIAGE_CONTROL_TEXT_FORMAT
A constant used to indicate a text file contains ASA vertical format control characters. All constants ending inTEXT_FORMATare used to indicate text formatting for text transfers (both ASCII and EBCDIC).- See Also:
-
FILE_STRUCTURE
A constant used to indicate a file is to be treated as a continuous sequence of bytes. This is the default structure. All constants ending in_STRUCTUREare used to indicate file structure for file transfers.- See Also:
-
RECORD_STRUCTURE
A constant used to indicate a file is to be treated as a sequence of records. All constants ending in_STRUCTUREare used to indicate file structure for file transfers.- See Also:
-
PAGE_STRUCTURE
A constant used to indicate a file is to be treated as a set of independent indexed pages. All constants ending in_STRUCTUREare used to indicate file structure for file transfers.- See Also:
-
STREAM_TRANSFER_MODE
A constant used to indicate a file is to be transferred as a stream of bytes. This is the default transfer mode. All constants ending inTRANSFER_MODEare used to indicate file transfer modes.- See Also:
-
BLOCK_TRANSFER_MODE
A constant used to indicate a file is to be transferred as a series of blocks. All constants ending inTRANSFER_MODEare used to indicate file transfer modes.- See Also:
-
COMPRESSED_TRANSFER_MODE
A constant used to indicate a file is to be transferred as FTP compressed data. All constants ending inTRANSFER_MODEare used to indicate file transfer modes. Currently unused.- See Also:
-
DEFLATE_TRANSFER_MODE
A constant used to indicate a file is to be transferred as FTP (un)compressing data in the "deflate" compression format. All constants ending inTRANSFER_MODEare used to indicate file transfer modes. See the Internet Draft Deflate transmission mode for FTP- See Also:
-
DEFAULT_CONTROL_ENCODING
The default character encoding used for communicating over an FTP control connection. The default encoding is an ASCII-compatible encoding. Some FTP servers expect other encodings. You can change the encoding used by an FTP instance withsetControlEncoding. -
REPLY_CODE_LEN
-
_replyCode
The last FTP reply code. -
_replyLines
The lines of text from the last FTP server response. -
_newReplyString
Whether we've processed the last reply lines. -
_replyString
The text from the last FTP server response. -
_controlEncoding
The character encoding to be used by the FTP control connection. -
_commandSupport_
A ProtocolCommandSupport object used to manage the registering of ProtocolCommandListeners and the firing of ProtocolCommandEvents. -
strictMultilineParsing
This is used to signal whether a block of multiline responses beginning with xxx must be terminated by the same numeric code xxx See section 4.2 of RFC 959 for details. -
_controlInput_
Wraps SocketClient._input_ to facilitate the reading of text from the FTP control connection. Do not access the control connection via SocketClient._input_. This member starts with a null value, is initialized in_connectAction_(), and set to null indisconnect(). -
_controlOutput_
Wraps SocketClient._output_ to facilitate the writing of text to the FTP control connection. Do not access the control connection via SocketClient._output_. This member starts with a null value, is initialized in_connectAction_(), and set to null indisconnect().
-
-
Constructor Details
-
FTP
public FTP()The default FTP constructor. Sets the default port toDEFAULT_PORTand initializes internal data structures for saving FTP reply information.
-
-
Method Details
-
__getReplyNoReport
Gets the reply, but don't pass it to command listeners. Used for keep-alive processing only.- Throws:
IOException- on error- Since:
- 3.0
-
__noop
Send a noop and get the reply without reporting to the command listener. Intended for use with keep-alive.- Throws:
IOException- on error- Since:
- 3.0
-
_connectAction_
Initiates control connections and gets initial reply. Initializes_controlInput_and_controlOutput_.- Overrides:
_connectAction_in classSocketClient- Throws:
IOException- (SocketException) if a problem occurs with the socket
-
_connectAction_
Initiates control connections and gets initial reply. Initializes_controlInput_and_controlOutput_.- Parameters:
socketIsReader- the reader to reuse (if non-null)- Throws:
IOException- on error- Since:
- 3.4
-
abor
Sends the FTPABORcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
acct
Sends the FTPACCTcommand to the server, receive the reply, and return the reply code.- Parameters:
account- The account name to access.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
allo
Sends the FTPALLOcommand to the server, receive the reply, and return the reply code.- Parameters:
bytes- The number of bytes to allocate.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
allo
Sends the FTPALLOcommand to the server, receive the reply, and return the reply code.- Parameters:
bytes- The number of bytes to allocate.recordSize- The size of a record.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
allo
Sends the FTPALLOcommand to the server, receive the reply, and return the reply code.- Parameters:
bytes- The number of bytes to allocate.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
allo
Sends the FTPALLOcommand to the server, receive the reply, and return the reply code.- Parameters:
bytes- The number of bytes to allocate.recordSize- The size of a record.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
appe
Sends the FTPAPPEcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Parameters:
path- The path to use for the file when stored at the remote end of the transfer.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
cdup
Sends the FTPCDUPcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
cwd
Sends the FTPCWDcommand to the server, receive the reply, and return the reply code.- Parameters:
directory- The new working directory.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
dele
Sends the FTPDELEcommand to the server, receive the reply, and return the reply code.- Parameters:
path- The path to delete.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
disconnect
Closes the control connection to the FTP server and sets to null some internal data so that the memory may be reclaimed by the garbage collector. The reply text and code information from the last command is voided so that the memory it used may be reclaimed. Also sets_controlInput_and_controlOutput_to null.- Overrides:
disconnectin classSocketClient- Throws:
IOException- If an error occurs while disconnecting.
-
eprt
Sends the FTPEPRTcommand to the server, receive the reply, and return the reply code.Examples:
- EPRT |1|132.235.1.2|6275|
- EPRT |2|1080::8:800:200C:417A|5282|
- Parameters:
host- The host owning the port.port- The new port.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 2.2
- See Also:
-
epsv
Sends the FTPEPSVcommand to the server, receive the reply, and return the reply code. Remember, it's up to you to interpret the reply string containing the host/port information.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 2.2
-
feat
Sends the FTPFEATcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received by the server
- Throws:
IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 2.2
-
getCommandSupport
Gets protocol command support.- Overrides:
getCommandSupportin classSocketClient- Returns:
- the CommandSupport instance, may be
null.
-
getControlEncoding
Gets the character encoding used to communicate over the control connection.- Returns:
- The character encoding used to communicate over the control connection.
-
getReply
Gets a reply from the FTP server and returns the integer reply code. After calling this method, the actual reply text can be accessed from either callinggetReplyStringorgetReplyStrings. Only use this method if you are implementing your own FTP client or if you need to fetch a secondary response from the FTP server.- Returns:
- The integer value of the reply code of the fetched FTP reply.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while receiving the server reply.
-
getReplyCode
Gets the integer value of the reply code of the last FTP reply. You will usually only use this method after you connect to the FTP server to check that the connection was successful sinceconnectis of type void.- Returns:
- The integer value of the reply code of the last FTP reply.
-
getReplyString
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.
-
getReplyStrings
Gets the lines of text from the last FTP server response as an array of strings, one entry per line. The end of line markers of each are stripped from each line.- Returns:
- The lines of text from the last FTP response as an array.
-
help
Sends the FTPHELPcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
help
Sends the FTPHELPcommand to the server, receive the reply, and return the reply code.- Parameters:
command- The command name on which to request help.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
isStrictMultilineParsing
Tests whether strict multiline parsing is enabled, as per RFC 959, section 4.2.- Returns:
- True if strict, false if lenient
- Since:
- 2.0
-
isStrictReplyParsing
Tests whether strict non-multiline parsing is enabled, as per RFC 959, section 4.2.The default is true, which requires the 3-digit code be followed by space and some text. If false, only the 3-digit code is required (as was the case for versions up to 3.5).
- Returns:
- True if strict (default), false if additional checks are not made
- Since:
- 3.6
-
list
Sends the FTPLISTcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
list
Sends the FTPLISTcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Parameters:
path- The path to list, may benullin which case the command is sent with no parameters- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
mdtm
Sends the MDTM command for the given file.- Parameters:
file- name of file- Returns:
- the status
- Throws:
IOException- on error- Since:
- 2.0
-
mfmt
Sends the FTPMFMTcommand to the server, receive the reply, and return the reply code.- Parameters:
path- The path for which mtime is to be changedtimeval- Timestamp inyyyyMMDDhhmmssformat- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 2.2
- See Also:
-
mkd
Sends the FTPMKDcommand to the server, receive the reply, and return the reply code.- Parameters:
path- The path of the new directory to create.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
mlsd
Sends the FTPMLSDcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.0
-
mlsd
Sends the FTPMLSDcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Parameters:
path- the path to report on- Returns:
- The reply code received from the server, may be
nullin which case the command is sent with no parameters - Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.0
-
mlst
Sends the FTPMLSTcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.0
-
mlst
Sends the FTPMLSTcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Parameters:
path- the path to report on- Returns:
- The reply code received from the server, may be
nullin which case the command is sent with no parameters - Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.0
-
mode
Sends the FTPMODEcommand to the server, receive the reply, and return the reply code.- Parameters:
mode- The transfer mode to use (one of theTRANSFER_MODEconstants).- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
nlst
Sends the FTPNLSTcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
nlst
Sends the FTPNLSTcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Parameters:
path- The path to list, may benullin which case the command is sent with no parameters- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
noop
Sends the FTPNOOPcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
opts
Sends the FTPOPTScommand to the server, receive the reply, and return the reply code.FTP request Syntax:
opts = opts-cmd SP command-name [ SP command-options ] CRLF opts-cmd = "opts" command-name = <any FTP command which allows option setting> command-options = <format specified by individual FTP command>- Parameters:
commandNameOptions- The OPTS command name and options.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.12.0
-
opts
Sends the FTPOPTScommand to the server, receive the reply, and return the reply code.FTP request Syntax:
opts = opts-cmd SP command-name [ SP command-options ] CRLF opts-cmd = "opts" command-name = <any FTP command which allows option setting> command-options = <format specified by individual FTP command>- Parameters:
commandName- The OPTS command name.commandOptions- The OPTS command options.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.12.0
-
pass
Sends the FTPPASScommand to the server, receive the reply, and return the reply code.- Parameters:
password- The plain text password of the user being logged into.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
pasv
Sends the FTPPASVcommand to the server, receive the reply, and return the reply code. Remember, it's up to you to interpret the reply string containing the host/port information.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
port
Sends the FTPPORTcommand to the server, receive the reply, and return the reply code.- Parameters:
host- The host owning the port.port- The new port.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
pwd
Sends the FTPPWDcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
quit
Sends the FTPQUITcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
rein
Sends the FTPREINcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
rest
Sends the FTPRESTcommand to the server, receive the reply, and return the reply code.- Parameters:
marker- The marker at which to restart a transfer.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
retr
Sends the FTPRETRcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Parameters:
path- The path of the file to retrieve.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
rmd
Sends the FTPRMDcommand to the server, receive the reply, and return the reply code.- Parameters:
path- The path of the directory to remove.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
rnfr
Sends the FTPRNFRcommand to the server, receive the reply, and return the reply code.- Parameters:
path- The path to rename from.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
rnto
Sends the FTPRNTOcommand to the server, receive the reply, and return the reply code.- Parameters:
path- The path to rename to- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
sendCommand
Sends an FTP command to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyStringorgetReplyStrings.- Parameters:
command- The FTPCmd enum corresponding to the FTP command to send.- Returns:
- The integer value of the FTP reply code returned by the server in response to the command.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.3
-
sendCommand
Sends an FTP command to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyStringorgetReplyStrings.- Parameters:
command- The FTPCmd enum corresponding to the FTP command to send.args- The arguments to the FTP command. If this parameter is set to null, then the command is sent with no argument.- Returns:
- The integer value of the FTP reply code returned by the server in response to the command.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.3
-
sendCommand
Sends an FTP command with no arguments to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyStringorgetReplyStrings.- Parameters:
command- The FTPCommand constant corresponding to the FTP command to send.- Returns:
- The integer value of the FTP reply code returned by the server in response to the command.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
sendCommand
Deprecated.(3.3) UsesendCommand(FTPCmd, String)insteadSends an FTP command to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyStringorgetReplyStrings.- Parameters:
command- The FTPCommand constant corresponding to the FTP command to send.args- The arguments to the FTP command. If this parameter is set to null, then the command is sent with no argument.- Returns:
- The integer value of the FTP reply code returned by the server in response to the command.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
sendCommand
Sends an FTP command with no arguments to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyStringorgetReplyStrings.- Parameters:
command- The text representation of the FTP command to send.- Returns:
- The integer value of the FTP reply code returned by the server in response to the command.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
sendCommand
Sends an FTP command to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyStringorgetReplyStrings.- Parameters:
command- The text representation of the FTP command to send.args- The arguments to the FTP command. If this parameter is set to null, then the command is sent with no argument.- Returns:
- The integer value of the FTP reply code returned by the server in response to the command.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
setControlEncoding
Sets the character encoding to be used by the FTP control connection. Some FTP servers require that commands be issued in a non-ASCII encoding like UTF-8 so that file names with multi-byte character representations (e.g, Big 8) can be specified.Please note that this has to be set before the connection is established.
- Parameters:
charset- The new character encoding for the control connection.- Since:
- 3.12.0
-
setControlEncoding
Sets the character encoding to be used by the FTP control connection. Some FTP servers require that commands be issued in a non-ASCII encoding like UTF-8 so that file names with multi-byte character representations (e.g, Big 8) can be specified.Please note that this has to be set before the connection is established.
- Parameters:
encoding- The new character encoding for the control connection.
-
setStrictMultilineParsing
Sets strict multiline parsing.- Parameters:
strictMultilineParsing- the setting- Since:
- 2.0
-
setStrictReplyParsing
Sets strict non-multiline parsing.If true, it requires the 3-digit code be followed by space and some text. If false, only the 3-digit code is required (as was the case for versions up to 3.5).
This should not be required by a well-behaved FTP server
- Parameters:
strictReplyParsing- the setting- Since:
- 3.6
-
site
Sends the FTPSITEcommand to the server, receive the reply, and return the reply code.- Parameters:
parameters- The site parameters to send.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
size
Sends the FTPSIZEcommand to the server, receive the reply, and return the reply code.- Parameters:
parameters- The site parameters to send.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.- Since:
- 3.7
-
smnt
Sends the FTPSMNTcommand to the server, receive the reply, and return the reply code.- Parameters:
dir- The directory name.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
stat
Sends the FTPSTATcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
stat
Sends the FTPSTATcommand to the server, receive the reply, and return the reply code.- Parameters:
path- A path to list.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
stor
Sends the FTPSTORcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Parameters:
path- The path to use for the file when stored at the remote end of the transfer.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
stou
Sends the FTPSTOUcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
stou
Sends the FTPSTOUcommand to the server, receive the reply, and return the reply code. Remember, it is up to you to manage the data connection. If you don't need this low level of access, useFTPClient, which will handle all low level details for you.- Parameters:
path- The base path to use for the file when stored at the remote end of the transfer. Some FTP servers require this.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
stru
Sends the FTPSTRUcommand to the server, receive the reply, and return the reply code.- Parameters:
structure- The structure of the file (one of the_STRUCTUREconstants).- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
syst
Sends the FTPSYSTcommand to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
type
Sends the FTPTYPEcommand to the server, receive the reply, and return the reply code.- Parameters:
fileType- The type of the file (one of theFILE_TYPEconstants).- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
type
Sends the FTPTYPEcommand for text files to the server, receive the reply, and return the reply code.- Parameters:
fileType- The type of the file (one of theFILE_TYPEconstants).formatOrByteSize- The format of the file (one of the_FORMATconstants). In the case ofLOCAL_FILE_TYPE, the byte size.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
user
Sends the FTPUSERcommand to the server, receive the reply, and return the reply code.- Parameters:
user- The user to login under.- Returns:
- The reply code received from the server.
- Throws:
FTPConnectionClosedException- If the FTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send FTP reply code 421. This exception may be caught either as an IOException or independently as itself.IOException- If an I/O error occurs while either sending the command or receiving the server reply.
-
sendCommand(FTPCmd, String)instead