commons-ftp中ftpClient类的API - 图文

更新时间:2023-10-13 20:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

org.apache.commons.net.ftp

类FTPClient

java.lang.Object继承

org.apache.commons.net.SocketClient org.apache.commons.net.ftp.FTP

org.apache.commons.net.ftp.FTPClient 所有已实现的接口:

可配置 直接已知子类:

FTPHTTPClient , FTPSClient

公共类FTPClient 延伸的FTP 实现了可配置

FTPClient封装了所有必要的功能来存储和检索从FTP服务器上的文件。 这个类负责所有与FTP服务器交互的底层细节,并提供了便捷的更高层次的接口。 正如来自所有类SocketClient ,您必须首先连接到与服务器connect做任何事之前,最后disconnect完成后,你完全与服务器交互。 然后,你需要检查的FTP答复代码,看看是否连接成功。 例如:

布尔错误= 0; 尝试{

诠释答复;

ftp.connect(“ftp.foobar.com”);

System.out.println(“连接到”+服务器+ \ System.out.print(ftp.getReplyString());

/ /连接尝试后,你应该检查代码以验证答复 / /成功。

答复= ftp.getReplyCode();

如果(!FTPReply.isPositiveCompletion(回复)){ ftp.disconnect();

System.err.println(“FTP服务器拒绝连接。”); System.exit(1); }

... / /传送文件 ftp.logout();

}捕捉(IOException异常五){ 误差为真;

e.printStackTrace(); 最后} {

如果(ftp.isConnected()){ 尝试{

ftp.disconnect();

}捕捉(IOException异常雇主组织){ / /什么也不做 } }

System.exit(错误1:0?); }

连接后立即是唯一真正的时候你需要检查答复代码(因为是连接类型为void)。 对于所有的FTP FTPClient指挥方法的公约就是这样,他们要么返回一个布尔值或其他值。 该方法返回一个布尔从FTP服务器成功完成答辩,假假真真的错误条件中的一个或故障而导致的答复。 该方法返回一个布尔值返回值比含有较高水平的FTP命令,或者为null,如果产生一个错误条件答复或故障导致其他数据。 如果您要访问的FTP的确切答复代码导致成功或失败,你必须调用getReplyCode后,成功或失败。

FTPClient的默认设置是它使用FTP.ASCII_FILE_TYPE , FTP.NON_PRINT_TEXT_FORMAT , FTP.STREAM_TRANSFER_MODE和

FTP.FILE_STRUCTURE 。 唯一的文件直接支持的类型是FTP.ASCII_FILE_TYPE和FTP.BINARY_FILE_TYPE 。 因为至少有4种不同的EBCDIC编码,我们还选择了不提供直接支持的EBCDIC。 为了转移EBCDIC和其他不支持的文件类型,你必须创建自己的过滤InputStreams和OutputStreams和总结他们周围的流退回或由FTPClient方法所需。 FTPClient使用NetASCII过滤器流提供ASCII文件透明处理。 我们会考虑把EBCDIC码的支持,如果有足够的需求。 FTP.NON_PRINT_TEXT_FORMAT , FTP.STREAM_TRANSFER_MODE和FTP.FILE_STRUCTURE是唯一支持的格式,传输模式和文件结构。

由于在不同平台上插座处理可以显着差异,在FTPClient自动发出一个新的端口(或EPRT)命令之前,每次传输要求的服务器连接到客户端的数据端口。 这将确保相同的Windows,Unix和Macintosh平台无故障的行为。 此外,它解除不必发出端口(或EPRT)命令自己和与平台有关问题的程序员。

此外,为了安全起见,所有的数据连接到客户端进行验证,以确保他们打算从党(主机和端口)起源。 如果一个数据连接是由党发起的一个意外,该命令将关闭套接字并抛出一个IOException异常。 您可以禁用此行为setRemoteVerificationEnabled()

你应该记住,在FTP服务器可以选择过早关闭连接,如果客户已超过给定的时间较长时期(通常为900秒)闲置。 将检测的FTPClient类FTP服务器连接过早关闭,当它收到FTPReply.SERVICE_NOT_AVAILABLE响应命令。 一旦这种情况发生时,FTP类方法遇到的答复将抛出一个FTPConnectionClosedException 。

FTPConnectionClosedException是一个子类IOException ,因此不必分别被捕获,但如果你要抓住它分开,它的catch块必须出现在更一般的IOException catch块。 当你遇到一个FTPConnectionClosedException ,必须断开与连接disconnect()妥善清理,系统资源使用FTPClient。 在断开,你可以检查代码和文本的最后答复与getReplyCode , getReplyString和getReplyStrings 。 您可能会避免服务器断开,而客户端闲置的空操作指令通过定期发送到服务器。 它不是单独列出每个方法,我们在这里提到的每个方法与服务器通信,并抛出一个IOException异常也可引发MalformedServerReplyException ,这是一个IOException异常子类。 将抛出一个MalformedServerReplyException答复时,从服务器收到的偏离足够的协议规范,它不能在一个有用的方式解释尽管试图尽可能宽松。

上市API的两个例子的目录列表分页和无页数的范例,如下: 无页数(全名单)访问,使用分析器可经自动检测: FTPClient f =new FTPClient(); f.connect(服务器); f.login(用户名,密码);

FTPFile []文件= listfiles <套件(目录);

分页访问,使用分析器无法访问的自动检测。 在应该从

org.apache.commons.net.FTPFileEntryParser派生initateListParsing第一个参数定义的类:

FTPClient f =new FTPClient(); f.connect(服务器); f.login(用户名,密码); FTPListParseEngine引擎=

f.initiateListParsing(“com.whatever.YourOwnParser”,目录);

而(engine.hasNext()){

FTPFile []文件= engine.getNext(25); / /“页面大小”你想要 / /做你想做这些文件,显示它们,等 / /昂贵FTPFile不创建对象,直到需要。 }

分页访问,使用分析器可经自动检测: FTPClient f =new FTPClient(); f.connect(服务器); f.login(用户名,密码);

FTPListParseEngine engine = f.initiateListParsing(目录);

而(engine.hasNext()){

FTPFile []文件= engine.getNext(25); / /“页面大小”你想要 / /做你想做这些文件,显示它们,等 / /昂贵FTPFile不创建对象,直到需要。 }

有关使用服务器上的目录清单FTPClient例子

使用英语以外的语言

? 使用日期格式“以外的美国英语”标准MM d yyyy ? 在不同的时区,你需要在蚁群依赖检查准确的时间戳

?

见FTPClientConfig 。 作者:

丹尼尔楼Savarese,罗里温斯顿 另见:

FTP , FTPConnectionClosedException , FTPFileEntryParser , FTPFileEntryParserFactory , DefaultFTPFileEntryParserFactory , FTPClientConfig , MalformedServerReplyException

字段摘要 static ACTIVE_LOCAL_DATA_CONNECTION_MODE int 一个常量指示期待的FTP会话之间发生的所有传输客户端(本地)和服务器,该服务器应该连接到客户端的数据端口来启动数据传输。 static ACTIVE_REMOTE_DATA_CONNECTION_MODE int 一个常量指示期待的FTP会话的所有转让发生在两个远程服务器,而客户端连接到要连接到其他服务器的数据端口发起数据传输服务器。 static PASSIVE_LOCAL_DATA_CONNECTION_MODE int 一个常量指示期待的FTP会话之间发生的所有传输客户端(本地)和服务器,服务器在被动模式时,要求客户端连接到服务器的数据端口来启动传输。 static PASSIVE_REMOTE_DATA_CONNECTION_MODE int 一个常量指示期待的FTP会话的所有转让发生在两个远程服务器,而客户端连接到处于被动模式,要求其他服务器连接到第一个服务器的数据端口发起数据传输服务器。 org.apache.commons.net.ftp类从继承的字段。 的FTP _commandSupport_ , _controlEncoding , _controlInput_ , _controlOutput_ , _newReplyString , _replyCode , _replyLines , _replyString , ASCII_FILE_TYPE , BINARY_FILE_TYPE , BLOCK_TRANSFER_MODE , CARRIAGE_CONTROL_TEXT_FORMAT , COMPRESSED_TRANSFER_MODE , DEFAULT_CONTROL_ENCODING , DEFAULT_DATA_PORT , DEFAULT_PORT , EBCDIC_FILE_TYPE , FILE_STRUCTURE , LOCAL_FILE_TYPE , NON_PRINT_TEXT_FORMAT , PAGE_STRUCTURE , RECORD_STRUCTURE , STREAM_TRANSFER_MODE , strictMultilineParsing , TELNET_TEXT_FORMAT org.apache.commons.net类从继承的字段。 SocketClient _defaultPort_ , _input_ , _output_ , _serverSocketFactory_ , _socket_ , _socketFactory_ , _timeout_ , connectTimeout , NETASCII_EOL 构造方法摘要 FTPClient () 默认FTPClient构造。 方法摘要 protected void _connectAction_ () 启动控制连接,并得到初步答复。 protected Socket _openDataConnection_ (int command, String arg) 建立一个与FTP服务器的数据连接,如果返回的成功连接的Socket。 boolean abort () 中止正在进行的传输。 boolean allocate (int bytes) 保留一字节的下一个文件传输服务器数量。 boolean allocate (int bytes, int recordSize) 储备空间,为下一个文件传输服务器。 boolean appendFile ( String remote, InputStream local) 上的一个带有特定名称的服务器上的文件追加,即从定InputStream输入。 OutputStream appendFileStream ( String remote) 返回一个通过该数据可以被写入附加的带有特定名称的服务器上的文件的OutputStream。 boolean changeToParentDirectory () 更改为当前工作目录的父目录。 boolean changeWorkingDirectory ( String pathname) 更改的FTP会话的当前工作目录。 boolean completePendingCommand () 有几个FTPClient方法不完成整个FTP命令序列来完成交

易。 void configure ( FTPClientConfig config) 实施Configurable界面。 boolean deleteFile ( String pathname) 删除在FTP服务器上的文件。 void disconnect () 关闭到FTP服务器,连接参数恢复到默认值的连接。 void enterLocalActiveMode () 设置当前数据连接模式ACTIVE_LOCAL_DATA_CONNECTION_MODE 。 void enterLocalPassiveMode () 设置当前数据连接模式PASSIVE_LOCAL_DATA_CONNECTION_MODE 。 boolean enterRemoteActiveMode ( InetAddress host, int port) 设置当前数据连接模式ACTIVE_REMOTE_DATA_CONNECTION 。 boolean enterRemotePassiveMode () 设置当前数据连接模式PASSIVE_REMOTE_DATA_CONNECTION_MODE 。 boolean features () 查询支持的功能服务器。 int getBufferSize () 检索当前的内部缓冲区的大小。 int getDataConnectionMode () 返回当前的数据连接模式(一_DATA_CONNECTION_MODE常数。 protected String getListArguments ( String pathname) boolean getListHiddenFiles () String getModificationTime ( String pathname) 问题的FTP MDTM命令(并非所有的服务器支持,以获取一个文件的最后修改时间。 String getPassiveHost () 返回的主机名或IP地址(在一个字符串的形式)时,由服务器返回进入被动模式。 int getPassivePort () 如果在被动模式下,返回被动主机的数据端口。 long getRestartOffset () 撷取重新启动所抵消。 String getStatus () STAT命令发出的FTP服务器。 String getStatus ( String pathname) STAT命令发出的FTP的服务器为给定的路径名。 String getSystemName () 。弃用 使用getSystemType() -不返回null。 将3.0版中删除 String getSystemType () 从服务器获取并返回字符串系统类型。 FTPListParseEngine initiateListParsing () 使用默认的自动检测机制,初始化FTPListParseEngine对象,包含了当前工作的这些信息是通过LIST命令获取服务器目录中的原始文件信息。 FTPListParseEngine initiateListParsing ( String pathname) 使用默认的自动检测机制,初始化FTPListParseEngine对象,包含了原始文件所提供的目录信息。 FTPListParseEngine initiateListParsing ( String parserKey, String pathname) 使用提供的解析器的关键,初始化FTPListParseEngine对象,包含了原始文件所提供的目录信息。 boolean isRemoteVerificationEnabled () 返回不论是否在数据连接的远程主机参加启用验证。 boolean isUseEPSVwithIPv4 () 是否应该尝试使用与IPv4 EPSV。 FTPFile [] listFiles () 使用默认的系统自动检测机制,获取当前工作目录的文件资料清单。 FTPFile [] listFiles ( String pathname) 使用默认的系统自动检测机制,获取当前工作目录或只是一个单一的文件档案资料清单。 FTPFile [] listFiles ( String pathname, FTPFileFilter filter) 从版本listFiles(String)它允许提供过滤器的人。 String listHelp () 从服务器获取系统帮助信息并返回完整的字符串。 String listHelp ( String command) 为获取从服务器提供的命令的帮助信息,并返回完整的字符串。 String [] listNames () 获取当前工作目录的文件名列表,这个信息是通过获得NLST命令。 String [] listNames ( String pathname) 获取列表中一个目录(或者仅仅是对一个给定的文件,它是不是特别有用的名称)文件名。 boolean login ( String username, String password) 登录到FTP服务器使用提供的用户名和密码。 boolean login ( String username, String password, String account) 登录到FTP服务器使用提供的用户名,密码和帐号。 boolean logout () 注销的通过发送QUIT命令FTP服务器。 boolean makeDirectory ( String pathname) 在上创建一个FTP服务器的当前目录的子目录(如果给出一个相对路径名),或在指定的(如果给出一个绝对路径名)。 String printWorkingDirectory () 返回当前工作目录的路径名。 boolean remoteAppend ( String filename) 发起一个到服务器的文件传输服务器。 boolean remoteRetrieve ( String filename) 发起一个到服务器的文件传输服务器。 boolean remoteStore ( String filename) 发起一个到服务器的文件传输服务器。 boolean remoteStoreUnique () 发起一个到服务器的文件传输服务器。 boolean remoteStoreUnique ( String filename) 发起一个到服务器的文件传输服务器。 boolean removeDirectory ( String pathname) 删除在FTP服务器(如果是空的)目录。 boolean rename ( String from, String to) 重命名远程文件。 boolean retrieveFile ( String remote, OutputStream local) 从服务器检索命名文件并将其写入给定的OutputStream。 InputStream retrieveFileStream ( String remote) 返回从其中一个指定的文件从服务器可以读取的InputStream。 boolean sendNoOp () 发送一个NOOP命令到FTP服务器。 boolean sendSiteCommand ( String arguments) 发送一个站点特定的命令。 void setActiveExternalIPAddress ( String ipAddress) 设置在主动模式下的外部IP地址。 void setActivePortRange (int minPort, int maxPort) 客户端设置在主动模式端口范围。 void setBufferSize (int bufSize) 设置内部缓冲区的大小。 void setDataTimeout (int timeout) 设置超时时间以毫秒为单位使用时,从数据连接读。 boolean setFileStructure (int structure) 设置文件的结构。 boolean setFileTransferMode (int mode) 设置传输模式。 boolean setFileType (int fileType) 设置文件类型转移。 boolean setFileType (int fileType, int formatOrByteSize) 设置文件类型和格式传送。 void setListHiddenFiles (boolean listHiddenFiles) 您可以设置为true,如果你想获得隐藏的文件时listFiles(java.lang.String)了。 boolean setModificationTime ( String pathname, String timeval) 问题的FTP MFMT命令(并非所有服务器都支持)中规定的最后修改文件的时间。 void setParserFactory ( FTPFileEntryParserFactory parserFactory) 为创建为所提供的解析器工厂对象所使用的工厂。 void setRemoteVerificationEnabled (boolean enable) 启用或禁用核实,利用远程主机的数据连接部分是作为控制连接到该连接的主机是相同的。 void setRestartOffset (long offset) 设置重新启动所抵消。 void setUseEPSVwithIPv4 (boolean selected) 设置是否使用与IPv4 EPSV。 boolean storeFile ( String remote, InputStream local) 存储一个使用给定的名称,并采取从给定的InputStream输入服务器的文件。 OutputStream storeFileStream ( String remote) 返回一个通过该数据可以被写入存储在使用给定的名称服务器上的文件的OutputStream。 boolean storeUniqueFile ( InputStream local) 使用上存储一个唯一的名称由服务器和从给定的InputStream输入到指定的服务器上的文件。 boolean storeUniqueFile ( String remote, InputStream local) 使用上存储一个唯一的名称从给定的名称和给定的InputStream输入导出到服务器上的文件。 OutputStream storeUniqueFileStream () 通过返回一个可写入的数据存储上使用一个唯一的名称由服务器分配服务器上的文件的OutputStream。 OutputStream storeUniqueFileStream ( String remote) 通过返回一个可写入的数据存储上使用一个唯一的名称从给定的名称派生服务器上的文件的OutputStream。 boolean structureMount ( String pathname) 问题的FTP SMNT命令。 从类继承的方法org.apache.commons.net.ftp。 FTP的 abor , acct , addProtocolCommandListener , allo , allo , appe , cdup , cwd , dele , eprt , epsv , feat , getControlEncoding , getReply , getReplyCode , getReplyString , getReplyStrings , help , help , isStrictMultilineParsing , list , list , mdtm , mfmt , mkd , mode , nlst , nlst , noop , pass , pasv , port , pwd , quit , rein , removeProtocolCommandListener , rest , retr , rmd , rnfr , rnto , sendCommand , sendCommand , sendCommand , sendCommand , setControlEncoding , setStrictMultilineParsing , site , smnt , stat , stat , stor , stou , stou , stru , syst , type , type , user 从类继承的方法org.apache.commons.net。 SocketClient connect , connect , connect , connect , connect , connect , getConnectTimeout , getDefaultPort , getDefaultTimeout , getKeepAlive , getLocalAddress , getLocalPort , getRemoteAddress , getRemotePort , getServerSocketFactory , getSoLinger , getSoTimeout , getTcpNoDelay , isConnected , setConnectTimeout , setDefaultPort , setDefaultTimeout , setKeepAlive , setReceiveBufferSize , setSendBufferSize , setServerSocketFactory , setSocketFactory , setSoLinger , setSoTimeout , setTcpNoDelay , verifyRemote java.lang中的类继承的方法。 对象 clone , equals , finalize , getClass , hashCode , notify , notifyAll ,

toString , wait , wait , wait 字段详细信息 ACTIVE_LOCAL_DATA_CONNECTION_MODE

公共静态的最终诠释ACTIVE_LOCAL_DATA_CONNECTION_MODE

一个常量指示期待的FTP会话之间发生的所有传输客户端(本地)和服务器,该服务器应该连接到客户端的数据端口来启动数据传输。 这是默认的数据连接模式,当和FTPClient实例被创建。 另见: 常量字段值

ACTIVE_REMOTE_DATA_CONNECTION_MODE

公共静态的最终诠释ACTIVE_REMOTE_DATA_CONNECTION_MODE

一个常量指示期待的FTP会话的所有转让发生在两个远程服务器,而客户端连接到要连接到其他服务器的数据端口发起数据传输服务器。 另见: 常量字段值

PASSIVE_LOCAL_DATA_CONNECTION_MODE

公共静态的最终诠释PASSIVE_LOCAL_DATA_CONNECTION_MODE

一个常量指示期待的FTP会话之间发生的所有传输客户端(本地)和服务器,服务器在被动模式时,要求客户端连接到服务器的数据端口来启动传输。 另见: 常量字段值

PASSIVE_REMOTE_DATA_CONNECTION_MODE

公共静态的最终诠释PASSIVE_REMOTE_DATA_CONNECTION_MODE

一个常量指示期待的FTP会话的所有转让发生在两个远程服务器,而客户端连接到处于被动模式,要求其他服务器连接到第一个服务器的数据端口发起数据传输服务器。 另见:

常量字段值 构造方法详细 FTPClient

公共FTPClient ()

默认FTPClient构造。 创建一个模式设置为新FTPClient实例与连接的数据ACTIVE_LOCAL_DATA_CONNECTION_MODE ,文件类型设置为

FTP.ASCII_FILE_TYPE ,文件格式设置为FTP.NON_PRINT_TEXT_FORMAT ,文件结构设置为FTP.FILE_STRUCTURE和传输模式设置为FTP.STREAM_TRANSFER_MODE 。 方法详细 _openDataConnection_

保护插座 _openDataConnection_ (智力命令,

字符串参数) 抛出IOException异常

建立一个与FTP服务器的数据连接,如果返回的成功连接的Socket。 如果重新启动已与偏移设置setRestartOffset(long) ,休息命令颁发给服务器的参数偏移量,为在建立数据连接。 主动模式的连接也造成本地端口命令发出。 参数:

command -要发送的文字表示的FTP命令。

arg -命令参数的FTP。 如果这个参数设置为null,则发送该命令没有参数。 返回:

一个Socket对应建立的数据连接。 如果返回null FTP协议中的任何错误,在建立和初始化的连接点的报告。 抛出:

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

_connectAction_

保护无效_connectAction_ ()

抛出IOException异常

从阶级复制的描述: FTP

启动控制连接,并得到初步答复。 初始化FTP._controlInput_和FTP._controlOutput_ 。 覆盖:

_connectAction_在课堂上FTP 抛出: IOException

setDataTimeout

公共无效setDataTimeout (智力超时)

设置超时时间以毫秒为单位使用时,从数据连接读。 此超时将被设置后立即打开数据连接。 参数:

timeout -默认的超时时间以毫秒为单位,用来当打开一个数据连接插座。

setParserFactory

公共无效setParserFactory ( FTPFileEntryParserFactory parserFactory)

为创建为所提供的解析器工厂对象所使用的工厂。 参数:

parserFactory -工厂对象用于创建FTPFileEntryParsers 另见:

FTPFileEntryParserFactory , DefaultFTPFileEntryParserFactory

断开

公共无效断开 ()

抛出IOException异常

关闭到FTP服务器,连接参数恢复到默认值的连接。 覆盖:

disconnect在课堂上FTP 抛出:

IOException -如果发生错误而断开。

setRemoteVerificationEnabled

公共无效setRemoteVerificationEnabled (布尔启用)

启用或禁用核实,利用远程主机的数据连接部分是作为控制连接到该连接的主机是相同的。 默认值是核实被启用。 你可以在任何时候设置此值,是否FTPClient当前连接与否。 参数:

enable -真正使核查,虚假禁用验证。

isRemoteVerificationEnabled

公共布尔isRemoteVerificationEnabled ()

返回不论是否在数据连接的远程主机参加启用验证。 默认行为是核实被启用。 返回:

真如果验证被启用,否则为false。

登录

公共布尔登录 ( 弦乐用户名,

字符串密码) 抛出IOException异常

登录到FTP服务器使用提供的用户名和密码。 参数:

username -根据登录的用户名。 password -密码使用。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

登录

公共布尔登录 ( 弦乐用户名,

字符串的密码, 字符串帐户) 抛出IOException异常

登录到FTP服务器使用提供的用户名,密码和帐号。 如果不考虑由服务器,只需要用户名和密码,帐户信息不被使用。 参数:

username -根据登录的用户名。 password -密码使用。 account -该帐户使用。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

注销

公共布尔注销 ()

抛出IOException异常

注销的通过发送QUIT命令FTP服务器。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

changeWorkingDirectory

公共布尔changeWorkingDirectory ( 字符串路径名) 抛出IOException异常

更改的FTP会话的当前工作目录。 参数:

pathname -新的当前工作目录。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

changeToParentDirectory

公共布尔changeToParentDirectory ()

抛出IOException异常

更改为当前工作目录的父目录。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

structureMount

公共布尔structureMount ( 字符串路径名) 抛出IOException异常

问题的FTP SMNT命令。 参数:

pathname -路径名上升。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

enterLocalActiveMode

公共无效enterLocalActiveMode ()

设置当前数据连接模式ACTIVE_LOCAL_DATA_CONNECTION_MODE 。 没有与FTP服务器进行通信,但是这会导致所有将来的数据传输要求的FTP服务器连接到客户端的数据端口。 此外,为了适应插座之间的差异在不同平台上实现,这种方法使客户端发出一个摆在每一个数据传输端口的命令。

enterLocalPassiveMode

公共无效enterLocalPassiveMode ()

设置当前数据连接模式PASSIVE_LOCAL_DATA_CONNECTION_MODE 。 仅用于客户端和服务器之间的数据传输,此方法。 这种方法将导致使用PASV(或EPSV)命令发出到服务器之前,每一个数据连接孔,告诉服务器来打开一个数据端口,客户端将连接进行数据传输。 该FTPClient将留在PASSIVE_LOCAL_DATA_CONNECTION_MODE直到模式是由其他的方法,例如改变调用一些enterLocalActiveMode()

注:目前可以调用任何方法将复位模式ACTIVE_LOCAL_DATA_CONNECTION_MODE。

enterRemoteActiveMode

公共布尔enterRemoteActiveMode ( InetAddress的主机, 诠释端口)

抛出IOException异常

设置当前数据连接模式ACTIVE_REMOTE_DATA_CONNECTION 。 仅用于服务器到服务器的数据传输此方法。 这种方法发出PORT命令到服务器,显示服务器和端口等它应该连接进行数据传输。 您必须调用这个摆在每一个服务器到服务器传输尝试的方法。 该FTPClient不会自动继续发出PORT命令。 你还必须记住调用enterLocalActiveMode()如果你想返回到正常的数据连接模式。 参数:

host -被动模式的服务器接受连接,进行数据传输。 port -被动模式的服务器的数据端口。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

enterRemotePassiveMode

公共布尔enterRemotePassiveMode ()

抛出IOException异常

设置当前数据连接模式PASSIVE_REMOTE_DATA_CONNECTION_MODE 。 仅用于服务器到服务器的数据传输此方法。 这种方法发出PASV命令到服务器,告诉它打开一个数据端口的活动服务器将连接进行数据传输。 您必须调用这个摆在每一个服务器到服务器传输尝试的方法。 该FTPClient不会自动继续发行PASV命令。 你还必须记住调用

enterLocalActiveMode()如果你想返回到正常的数据连接模式。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

getPassiveHost

公共字符串 getPassiveHost ()

返回的主机名或IP地址(在一个字符串的形式)时,由服务器返回进入被动模式。 如果不是在被动模式,则返回null。 这种方法只返回一个有效的值后的数据连接已经打开后调用enterLocalPassiveMode() 这是因为FTPClient发送之前打开数据连接PASV命令到服务器只,而不是当你调用enterLocalPassiveMode() 返回:

如果在被动的被动模式,否则无效的主机名。

getPassivePort

公共诠释getPassivePort ()

如果在被动模式下,返回被动主机的数据端口。 这种方法只返回一个有效的值后的数据连接已经打开后调用enterLocalPassiveMode() 这是因为FTPClient发送之前打开数据连接PASV命令到服务器只,而不是当你调用enterLocalPassiveMode() 返回:

被动式服务器数据端口。 如果不是在被动模式下,不确定的。

getDataConnectionMode

公共诠释getDataConnectionMode ()

返回当前的数据连接模式(一_DATA_CONNECTION_MODE常数。 返回:

目前的数据连接模式(一_DATA_CONNECTION_MODE常数。

setActivePortRange

公共无效setActivePortRange (智力minPort, 诠释maxPort)

客户端设置在主动模式端口范围。 参数:

minPort -最低可用的端口(含)。 maxPort -最高可用的端口(含)。 因为: 2.2

setActiveExternalIPAddress

公共无效setActiveExternalIPAddress ( 弦乐的IPAddress) 抛出UnknownHostException

设置在主动模式下的外部IP地址。 有用当有多个网卡。 参数:

ipAddress -机器的外部IP地址这一点。 抛出:

UnknownHostException 因为: 2.2

setFileType

公共布尔setFileType (智力文件类型)

抛出IOException异常

设置文件类型转移。 这应该是一个FTP.ASCII_FILE_TYPE ,

FTP.BINARY_FILE_TYPE等文件类型只需要设置当你想改变的类型。 在改变了,新的类型保持有效,直到您再次变更。 默认的文件类型是FTP.ASCII_FILE_TYPE如果这种方法不会被调用。 注:目前可以调用任何方法将复位模式ACTIVE_LOCAL_DATA_CONNECTION_MODE。

参数:

fileType -的_FILE_TYPE不断indcating的文件类型。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

setFileType

公共布尔setFileType (智力文件类型,

诠释formatOrByteSize) 抛出IOException异常

设置文件类型和格式传送。 类型应该是一个FTP.ASCII_FILE_TYPE , FTP.BINARY_FILE_TYPE等文件类型只需要设置当你想改变的类型。 在改变了,新的类型保持有效,直到您再次变更。 默认的文件类型是

FTP.ASCII_FILE_TYPE如果这种方法不会被调用。 格式应该是一个阶级的FTP TEXT_FORMAT常数,或者如果该类型是FTP.LOCAL_FILE_TYPE ,格式应该是该类型的字节大小。 默认格式是

FTP.NON_PRINT_TEXT_FORMAT如果这种方法不会被调用。

注:目前可以调用任何方法将复位模式ACTIVE_LOCAL_DATA_CONNECTION_MODE。

参数:

fileType -的_FILE_TYPE不断indcating的文件类型。 formatOrByteSize -文件格式的(即一_FORMAT常数。若LOCAL_FILE_TYPE ,字节大小。 返回:

True如果成功完成,否则为false。 抛出:

您可以设置为true,如果你想获得隐藏的文件时

listFiles(java.lang.String)了。 一个LIST -a会发出到FTP服务器。 这取决于您的FTP服务器,如果你需要调用这个方法,也不要期望得到消除隐藏文件,如果你调用“假”这个方法。 参数:

listHiddenFiles - True如果隐藏的文件应列出 因为: 2.0

getListHiddenFiles

公共布尔getListHiddenFiles ()

返回: 当前状态 因为: 2.0 另见:

setListHiddenFiles(boolean)

isUseEPSVwithIPv4

公共布尔isUseEPSVwithIPv4 ()

是否应该尝试使用与IPv4 EPSV。 默认(如果没有设置)是false 返回:

如果要尝试真正的每股收益 因为: 2.2

setUseEPSVwithIPv4

公共无效setUseEPSVwithIPv4 (布尔选择)

设置是否使用与IPv4 EPSV。 也许值得在某些情况下启用。 例如,当使用IPv4和NAT它可能与某些罕见的配置。 例如,如果FTP服务器有一个静态的使用PASV地址(外部网)和客户端是来自另一个内部网络。 在这种情况下,PASV命令后,数据连接会失败,而EPSV将使客户获得成功,采取公正的端口。 参数:

selected -要设置的值。 因为: 2.2

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

setFileStructure

公共布尔setFileStructure (智力结构)

抛出IOException异常

设置文件的结构。 默认的结构是FTP.FILE_STRUCTURE如果这种方法不会被调用。 参数:

structure -文件结构(类之一的FTP _STRUCTURE常量)。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

setFileTransferMode

公共布尔setFileTransferMode (智力模式)

抛出IOException异常

设置传输模式。 默认的传输模式FTP.STREAM_TRANSFER_MODE如果这种方法不会被调用。 参数:

mode -新的传输模式使用(一类的FTP _TRANSFER_MODE常量)。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

remoteRetrieve

公共布尔remoteRetrieve ( 字符串文件名) 抛出IOException异常

发起一个到服务器的文件传输服务器。 此方法通知服务器的客户端连接到其他服务器中检索从一个给定的文件。 参数:

filename -文件名称检索。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

remoteStore

公共布尔remoteStore ( 字符串文件名) 抛出IOException异常

发起一个到服务器的文件传输服务器。 此方法通知服务器的客户端连接到存储在其他使用给定的文件名服务器上的文件。 其他服务器必须有一个remoteRetrieve发出另FTPClient给它。 参数:

filename -这个名字来调用文件要存储。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

remoteStoreUnique

公共布尔remoteStoreUnique ( 字符串文件名) 抛出IOException异常

发起一个到服务器的文件传输服务器。 此方法通知服务器的客户端连接到存储在其他服务器上的文件使用一个唯一的文件名在给定的文件为基础。 其他服务器必须有一个remoteRetrieve发出另FTPClient给它。 参数:

filename -这个名字,在此基础文件的文件名是被存储。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

remoteStoreUnique

公共布尔remoteStoreUnique ()

抛出IOException异常

发起一个到服务器的文件传输服务器。 此方法通知服务器的客户端连接到存储在其他唯一的文件名使用服务器上的文件。 其他服务器必须有一个remoteRetrieve发出另FTPClient给它。 许多FTP服务器要求给予基础文件名唯一的文件名从中可以得到。 对于这些服务器使用的版本的其他remoteStoreUnique 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

remoteAppend

公共布尔remoteAppend ( 字符串文件名) 抛出IOException异常

发起一个到服务器的文件传输服务器。 此方法通知服务器的客户端连接到其他服务器上追加到指定文件。 其他服务器必须有一个remoteRetrieve发出另FTPClient给它。 参数:

filename -文件名称追加到,或者如果该文件不存在,这个名字来调用文件被存储。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

completePendingCommand

公共布尔completePendingCommand ()

抛出IOException异常

有几个FTPClient方法不完成整个FTP命令序列来完成交易。 这些命令的一些要求后的一个积极的中级指挥接待程序员行动。 之后,程序员的代码完成其行动,它必须调用这个方法来接收来自服务器的答复,并确认完成了整个交易的成功。

例如,

InputStream的投入; OutputStream的输出;

输入=新FileInputStream的(“foobaz.txt”); 输出= ftp.storeFileStream(“foobar.txt”)

如果(!FTPReply.isPositiveIntermediate(ftp.getReplyCode())){

input.close(); output.close(); ftp.logout();

ftp.disconnect();

System.err.println(“文件传输失败。”); System.exit(1); }

Util.copyStream(输入,输出); input.close(); output.close();

/ /必须调用completePendingCommand()来完成命令。 如果(!ftp.completePendingCommand()){ ftp.logout();

ftp.disconnect();

System.err.println(“文件传输失败。”);

System.exit(1); }

返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

retrieveFile

公共布尔retrieveFile ( 弦乐遥远,

OutputStream的地方) 抛出IOException异常

从服务器检索命名文件并将其写入给定的OutputStream。 这种方法不会关闭给定的OutputStream。 如果当前文件类型是ASCII,文件中的行分隔符转换为当地代表性。

注:如果您使用过setRestartOffset(long) ,该文件的数据将开始从选定的偏移。

参数:

remote -文件名遥控器。

local -当地的OutputStream要写入文件。 返回:

True如果成功完成,否则为false。 抛出:

FTPConnectionClosedException -如果FTP服务器过早关闭连接的代码421,结果答复的客户端被闲置或其他原因导致服务器发送的FTP。 此异常可能陷于无论是作为一个IOException或本身独立。

CopyStreamException -如果发生I / O错误,而实际上传输文件。 该CopyStreamException允许你确定传输的字节数和IOException异常导致错误。 此异常可能陷于无论是作为一个IOException或本身独立。 IOException -如果发生I / O错误发生,而不是一个命令发送到服务器或接收服务器响应从。

retrieveFileStream

本文来源:https://www.bwwdw.com/article/tn1f.html

Top