转自:http://www.blogjava.net/xmatthew/archive/2008/12/01/243346.html
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。
简单应用---API介绍
The main class of the library is FTPClient (it.sauronsoftware.ftp4j.FTPClient).
1. 创建FTPClient实例
FTPClient client = new FTPClient();
连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21
client.connect("ftp.host.com", /*21*/);
登录验证
client.login("user", "pswd");
下面是匿名登录
//client.login("anonymous", "密码任意设置");
client.login("anonymous", "ftp4j");
安全退出
client.disconnect(true);
//强制退出
//client.disconnect(false);
文件以及文件夹操作:
取得当前文件夹
String dir = client.currentDirectory();
改变当前文件夹
client.changeDirectory(newPath);
//绝对路径
//client.changeDirectory("/an/absolute/one");
//相对路径
//client.changeDirectory("relative");
//回退到上级目录
client.changeDirectoryUp();
//重命名文件或文件夹
client.rename("oldname", "newname");
//移动文件或文件夹
client.rename("myfile.txt", "myfolder/myfile.txt");
//删除文件
client.deleteFile(relativeOrAbsolutePath);
//client.deleteFile("useless.txt");
//创建目录
client.createDirectory("newfolder");
//删除目录(空目录)
client.deleteDirectory(absoluteOrRelativePath);
//client.deleteDirectory("oldfolder");
//浏览文件
FTPFile[] list = client.list();
//使用通配浏览文件
FTPFile[] list = client.list("*.jpg");
//显示文件或文件夹的修改时间
java.util.Date md = client.modifiedDate("filename.ext");
//上传和下载文件
//下载服务器上remoteFile.ext 下载到本地 localFile.ext
client.download("remoteFile.ext", new java.io.File("localFile.ext"));
//上传 本地 localFile.ext 到当前目录
client.upload(new java.io.File("localFile.ext"));
// 上传和下载文件时, 监听文件传输的状态
public class MyTransferListener implements FTPDataTransferListener {
//文件开始上传或下载时触发
public void started() {
}
//显示已经传输的字节数
public void transferred(int length) {
}
//文件传输完成时,触发
public void completed() {
}
//传输放弃时触发
public void aborted() {
// Transfer aborted
}
//传输失败时触发
public void failed() {
}
示例:
client.download("remoteFile.ext", new java.io.File("localFile.ext"), new MyTransferListener());
client.upload(new java.io.File("localFile.ext"), new MyTransferListener());
//ftp4j也支持断点续传功能
下面是一个简单示例:*参数 1056 跳过 1056字节点下载
client.download("remoteFile.ext", new java.io.File("localFile.ext"), 1056);
设置传输模式
//ASC码
client.setType(FTPClient.TYPE_TEXTUAL);
//二进制
client.setType(FTPClient.TYPE_BINARY);
//自动选择(根据文件内容)
client.setType(FTPClient.TYPE_AUTO);
//设置连接器
client.setConnector(connector);
SSL 套接字连接
client.setConnector(it.sauronsoftware.ftp4j.connectors.SSLConnector)
client.setConnector(anyConnectorYouWant);
分享到:
相关推荐
请注意,`ftp4j`自身依赖于`ganymed-ftp2`库来实现FTP连接。 以下是一个简单的`ftp4j`使用示例,展示如何连接FTP服务器、上传文件和断开连接: ```java import it.sauronsoftware.ftp4j.FTPClient; public class ...
FTP4J是一个流行的Java库,专门用于在Android平台上实现FTP(文件传输协议)客户端功能。这个库由Emanuele Colombo开发,它提供了一个简单且强大的API,使得开发者能够轻松地在Android应用中添加上传、下载和管理...
本教程将详细讲解如何使用开源库ftp4j来实现这一功能,同时结合ProgressDialog来展示上传和下载的进度。 首先,我们需要了解ftp4j库。ftp4j是一个由Marco Sulla开发的Java库,它提供了完整的FTP客户端功能,包括...
Java FTP4j 实现是Java...而`src`目录则是源代码存放的地方,其中可能包含了实现FTP4j功能的Java源文件。如果需要深入理解FTP4j的使用,可以查看`src`目录下的代码,特别是涉及FTP连接、文件上传下载和进度显示的部分。
在Android应用中使用FTP4j时,首先需要将提供的jar包添加到项目的构建路径中,然后就可以通过以下步骤进行FTP操作: 1. **初始化FTPClient**:创建`FtpClient`对象,配置服务器地址、端口、用户名和密码。 2. **...
在Java中,我们可以使用`java.net`包中的`Socket`类和`DataInputStream`/`DataOutputStream`来实现FTP的基本功能。但是,为了简化FTP客户端的开发,Java提供了`java.net.URL`和`java.net.URLConnection`类,以及第...
FTP4J是一个用Java编写...总之,`ftp4j-1.7.2.jar`是Java开发者实现FTP功能的一个强大且易于使用的库。通过添加这个库到项目中,你可以轻松地执行文件上传、下载和其他FTP操作,同时享受其丰富的特性和良好的文档支持。
在本篇文章中,我们将详细介绍如何使用FTP4J来进行FTP操作,并通过一个具体的Java类`FTPUtils`来展示各种方法的使用方式。 #### 二、核心概念与术语 1. **FTP (File Transfer Protocol)**: 文件传输协议,是一种...
FTP客户端是用于与远程服务器进行文件传输的一种工具,而`ftp4j`是一个用Java编写的开源FTP客户端库。这个“ftp4j修改版”针对的是原始ftp4j库...对于需要在Android设备上进行FTP操作的应用来说,这是一个重要的更新。
ftp4j是一款流行的Java库,专门用于实现FTP(文件传输协议)和FTPS(FTP over SSL/TLS)客户端功能。它由意大利开发者Sandro Giachetti开发,旨在为Java应用程序提供简单而强大的FTP和FTPS操作接口。在本文中,我们...
SwiFTP和FTP4J是两个在Java编程环境中用于实现FTP(文件传输协议)功能的开源库。FTP是一种网络协议,允许用户从一个远程服务器上传、下载文件或执行其他文件管理操作。这两个库为开发者提供了方便的方式来集成FTP...
总的来说,通过ftp4j库,开发者能够在Android应用中实现FTP功能,无需深入了解FTP协议的细节,只需调用库提供的API即可。在开发过程中,注意遵循Android的最佳实践,例如异步操作以避免阻塞UI线程,以及正确处理网络...
总的来说,FTP4J是Java开发者进行FTP操作的实用工具,其丰富的功能和易于使用的API使其在各种项目中都得到了广泛的应用。通过理解并熟练使用这些知识点,你可以轻松地在Java应用中集成FTP服务。
在Java开发中,我们可以借助第三方库如ftp4j来实现FTPS的加密上传功能。 ftp4j是一个轻量级、功能强大的Java FTP客户端库,支持FTP和FTPS协议。它提供了丰富的API,使开发者可以方便地执行各种FTP操作,如连接...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp...
通过上述介绍可以看出,Apache.FTPClient、ftp4j及jftp都提供了丰富的FTP操作功能。开发者可以根据具体的应用场景和个人偏好选择合适的库进行集成。无论是文件上传还是下载,这些库都能够提供稳定的解决方案。同时,...
在这个场景中,我们看到三个不同的压缩包文件,它们可能包含了实现FTP客户端功能的库或工具:ftp4j-1.5.1.zip、j-ftp-1.52.tar.gz以及jsch-0.1.43.zip。 首先,`ftp4j-1.5.1.zip` 是一个Java库,用于开发FTP客户端...
FTPClient_ftp4j是一个专为Android平台设计的FTP客户端库,它允许开发者在Android应用中实现FTP(文件传输协议)功能。FTP是Internet上的一种标准协议,用于在客户端和服务器之间上传、下载文件。FTPClient_ftp4j库...
FTP4J的核心类是`FtpClient`,它提供了所有FTP操作的方法。为了上传文件,我们需要创建一个`FtpClient`实例,然后连接到FTP服务器: ```java import it.sauronsoftware.ftp4j.FtpClient; import it.sauronsoftware....
Apache Commons Net库与Ftp4j是Java编程中用于FTP(文件传输协议)操作的重要工具。...Apache Commons Net和Ftp4j都提供了足够的灵活性来满足这些需求,使得开发者能够方便地在Java应用中实现FTP功能。