sun.net.ftp.FtpClient.,该类库主要提供了用于建立FTP连接的类。利用这些类的方法,编程人员可以远程登录到FTP服务器,列举该服务器上的目录,设置传输协议,以及传送文件。FtpClient类涵盖了几乎所有FTP的功能,FtpClient的实例变量保存了有关建立"代理"的各种信息。下面给出了这些实例变量。
public static boolean useFtpProxy
这个变量用于表明FTP传输过程中是否使用了一个代理,因此,它实际上是一个标记,此标记若为TRUE,表明使用了一个代理主机。
public static String ftpProxyHost
此变量只有在变量useFtpProxy为TRUE时才有效,用于保存代理主机名。
public static int ftpProxyPort
此变量只有在变量useFtpProxy为TRUE时才有效,用于保存代理主机的端口地址。
FtpClient有三种不同形式的构造函数,如下所示:
1、public FtpClient(String hostname,int port)
此构造函数利用给出的主机名和端口号建立一条FTP连接。
2、public FtpClient(String hostname)
此构造函数利用给出的主机名建立一条FTP连接,使用默认端口号。
3、FtpClient()
此构造函数将创建一FtpClient类,但不建立FTP连接。这时,FTP连接可以用openServer方法建立。
一旦建立了类FtpClient,就可以用这个类的方法来打开与FTP服务器的连接。类ftpClient提供了如下两个可用于打开与FTP服务器之间的连接的方法。
public void openServer(String hostname)
这个方法用于建立一条与指定主机上的FTP服务器的连接,使用默认端口号。
public void openServer(String host,int port)
这个方法用于建立一条与指定主机、指定端口上的FTP服务器的连接。
打开连接之后,接下来的工作是注册到FTP服务器。这时需要利用下面的方法。
public void login(String username,String password)
此方法利用参数username和password登录到FTP服务器。使用过Intemet的用户应该知道,匿名FTP服务器的登录用户名为anonymous,密码一般用自己的电子邮件地址。
下面是FtpClient类所提供的一些控制命令。
public void cd(String remoteDirectory)
该命令用于把远程系统上的目录切换到参数remoteDirectory所指定的目录。
public void cdUp():该命令用于把远程系统上的目录切换到上一级目录。
public String pwd():该命令可显示远程系统上的目录状态。
public void binary():该命令可把传输格式设置为二进制格式。
public void ascii():该命令可把传输协议设置为ASCII码格式。
public void rename(String string,String string1)
该命令可对远程系统上的目录或者文件进行重命名操作。
除了上述方法外,类FtpClient还提供了可用于传递并检索目录清单和文件的若干方法。这些方法返回的是可供读或写的输入、输出流。下面是其中一些主要的方法。
public TelnetInputStream list()
返回与远程机器上当前目录相对应的输入流。
public TelnetInputStream get(String filename)
获取远程机器上的文件filename,借助TelnetInputStream把该文件传送到本地。
public TelnetOutputStream put(String filename)
以写方式打开一输出流,通过这一输出流把文件filename传送到远程计算机。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wozeze1/archive/2009/08/12/4438041.aspx
分享到:
相关推荐
需要注意的是,`sun.net.ftp.FtpClient`在不同的Java版本中可能存在兼容性问题,且不推荐在生产环境中使用,因为它不是一个公开维护的API。 在批量操作中,无论是使用`Apache Commons Net`还是`sun.net.ftp....
import org.apache.commons.net.ftp.FTPClient; FTPClient ftpClient = new FTPClient(); try { ftpClient.connect("ftp.server.com", 21); // 连接到FTP服务器 ftpClient.login("username", "password"); // ...
但是需要注意的是,`sun.net.ftp` 包是 Sun JDK 的非公开 API,使用它可能存在兼容性和稳定性问题,不推荐在生产环境中使用。 2. **使用 Commons Net 库**: Apache Commons Net 是一个流行的 Java FTP 客户端库...
- `sun.net.ftp.FtpClient`: 实现FTP客户端的主要类。 - `java.util.ArrayList`: 用于存储多个对象的集合。 #### 3. 类定义及成员变量 - 类名为`ftp`,继承自`Applet`,这表明它最初可能被设计为一个可以在Web...
import com.sun.net.ftp.FtpFile; public class SunFtpExample { public static void main(String[] args) throws Exception { SSLContext context = SSLContext.getInstance("SSL", new Provider()); context....
需要注意的是,`sun.net.ftp`包中的类并不是标准的Java API,可能会在不同的Java版本或JDK发行版中不可用。因此,在实际项目中,更推荐使用像Apache Commons Net这样的稳定且广泛支持的第三方库来实现FTP客户端功能...
然而,值得注意的是,`sun.net.ftp.FtpClient`并不是标准的Java API,而是Oracle JRE的一个私有实现,这意味着它可能在不同的JDK版本或非Oracle JRE中不可用。 以下是一个详细的步骤,解释如何在Oracle中实现FTP...
本文档介绍了一种利用Java标准库中的`sun.net.ftp.FtpClient`类实现FTP上传与下载功能的方法。此方法适用于JDK版本1.7及以上的环境。 #### 代码解析 ##### 包结构与导入包 首先,定义了一个名为`com.pifeng.util`...
在这个特定的代码段中,开发者使用了`sun.net.ftp.*`包中的类来实现FTP客户端的功能,这是一个内部使用的非公开API,可能在不同JVM版本中不可用或不稳定。尽管如此,我们仍然可以了解这个例子的基本思路和一般Java ...
最后,这个示例中使用了`sun.net.ftp`包,这是Java的一个内部实现,可能不适用于所有Java环境,因为它不是标准的API。在实际生产环境中,推荐使用Apache Commons Net或者JSch等成熟的FTP库来实现FTP客户端功能,它们...
需要注意的是,`sun.net.ftp` 包是 Sun Microsystems 提供的非标准 API,可能在某些 JDK 版本或平台上不可用,且不推荐在生产环境中使用。 更推荐使用 Apache Commons Net 库,它提供了更稳定和全面的 FTP 客户端...
在提供的代码中,使用了`sun.net.*`和`sun.net.ftp.*`这两个包,它们包含了Java对FTP协议的支持。不过需要注意的是,这些类属于Sun Microsystems的内部API,不推荐在生产环境中直接使用,因为它们可能在未来的Java...
1. **使用Java实现FTP客户端**:Java提供了多种方式来实现FTP客户端,本例中使用的`sun.net.ftp.FtpClient`类可以方便地进行FTP操作。 2. **关键方法解析**: - **`openServer(ip, port)`**:打开连接至指定IP地址...
在Java中实现FTP功能,可以使用`sun.net.ftp`包中的类,如`FtpClient`。下面将详细解析给定的Java FTP服务器源码,探讨其主要功能和实现方式。 1. **FTP客户端初始化与连接** 在源码中,`ftp`类扩展了`Applet`,并...
- **sun.net.ftp.FtpClient**: 这个类是Java早期版本中提供的一个内部类,用于实现基本的FTP功能。需要注意的是,在较新的Java版本中(如Java 9及以上),`sun.*`包被认为是内部API,并可能在未来的版本中发生变化或...
在提供的代码片段中,可以看到一个名为`Ftp`的类,该类使用了Sun Microsystems的`sun.net.ftp`包,这是一个不推荐公开使用的包,因为它包含私有的、不稳定的API。尽管如此,这个例子还是展示了如何通过Java进行FTP...
需要注意的是,`sun.net.ftp.FtpClient`并不是Java标准库中的公开API,这意味着它可能在不同的JDK版本或供应商中不可用。在生产环境中,推荐使用更稳定的库,如Apache Commons Net或者Java 7及更高版本提供的`java...
- **Sun官方提供的FTP客户端类**:这部分类位于`sun.net.ftp`包下,但由于是内部API,可能存在不稳定的风险。 - **Apache Commons Net 的 FTPClient 类**:这是目前最常用的一种方式,提供了丰富的API来操作FTP...