`
chenlong_1988
  • 浏览: 185583 次
  • 性别: Icon_minigender_2
社区版块
存档分类

【转】使用ftp4j类来实现FTP操作

阅读更多

转自: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);

分享到:
评论

相关推荐

    FTP客户端Java类库 ftp4j

    请注意,`ftp4j`自身依赖于`ganymed-ftp2`库来实现FTP连接。 以下是一个简单的`ftp4j`使用示例,展示如何连接FTP服务器、上传文件和断开连接: ```java import it.sauronsoftware.ftp4j.FTPClient; public class ...

    android的ftp4j的jar包

    FTP4J是一个流行的Java库,专门用于在Android平台上实现FTP(文件传输协议)客户端功能。这个库由Emanuele Colombo开发,它提供了一个简单且强大的API,使得开发者能够轻松地在Android应用中添加上传、下载和管理...

    android 使用ftp上传下载(使用ftp4j)弹出框(进度条)

    本教程将详细讲解如何使用开源库ftp4j来实现这一功能,同时结合ProgressDialog来展示上传和下载的进度。 首先,我们需要了解ftp4j库。ftp4j是一个由Marco Sulla开发的Java库,它提供了完整的FTP客户端功能,包括...

    java ftp4j实现

    Java FTP4j 实现是Java...而`src`目录则是源代码存放的地方,其中可能包含了实现FTP4j功能的Java源文件。如果需要深入理解FTP4j的使用,可以查看`src`目录下的代码,特别是涉及FTP连接、文件上传下载和进度显示的部分。

    ftp4j实例+jar包+源码.rar

    在Android应用中使用FTP4j时,首先需要将提供的jar包添加到项目的构建路径中,然后就可以通过以下步骤进行FTP操作: 1. **初始化FTPClient**:创建`FtpClient`对象,配置服务器地址、端口、用户名和密码。 2. **...

    j-ftp实现ftp

    在Java中,我们可以使用`java.net`包中的`Socket`类和`DataInputStream`/`DataOutputStream`来实现FTP的基本功能。但是,为了简化FTP客户端的开发,Java提供了`java.net.URL`和`java.net.URLConnection`类,以及第...

    ftp4j-1.7.2.jar

    FTP4J是一个用Java编写...总之,`ftp4j-1.7.2.jar`是Java开发者实现FTP功能的一个强大且易于使用的库。通过添加这个库到项目中,你可以轻松地执行文件上传、下载和其他FTP操作,同时享受其丰富的特性和良好的文档支持。

    ftp4j使用方法

    在本篇文章中,我们将详细介绍如何使用FTP4J来进行FTP操作,并通过一个具体的Java类`FTPUtils`来展示各种方法的使用方式。 #### 二、核心概念与术语 1. **FTP (File Transfer Protocol)**: 文件传输协议,是一种...

    ftp客户端(ftp4j修改版)

    FTP客户端是用于与远程服务器进行文件传输的一种工具,而`ftp4j`是一个用Java编写的开源FTP客户端库。这个“ftp4j修改版”针对的是原始ftp4j库...对于需要在Android设备上进行FTP操作的应用来说,这是一个重要的更新。

    ftp4j 1.3源码

    ftp4j是一款流行的Java库,专门用于实现FTP(文件传输协议)和FTPS(FTP over SSL/TLS)客户端功能。它由意大利开发者Sandro Giachetti开发,旨在为Java应用程序提供简单而强大的FTP和FTPS操作接口。在本文中,我们...

    SwiFTP、FTP4J以及Demo下载

    SwiFTP和FTP4J是两个在Java编程环境中用于实现FTP(文件传输协议)功能的开源库。FTP是一种网络协议,允许用户从一个远程服务器上传、下载文件或执行其他文件管理操作。这两个库为开发者提供了方便的方式来集成FTP...

    android ftp 客户端编写(ftp4j)

    总的来说,通过ftp4j库,开发者能够在Android应用中实现FTP功能,无需深入了解FTP协议的细节,只需调用库提供的API即可。在开发过程中,注意遵循Android的最佳实践,例如异步操作以避免阻塞UI线程,以及正确处理网络...

    ftp4j 上传 下载

    总的来说,FTP4J是Java开发者进行FTP操作的实用工具,其丰富的功能和易于使用的API使其在各种项目中都得到了广泛的应用。通过理解并熟练使用这些知识点,你可以轻松地在Java应用中集成FTP服务。

    利用ftp4j实现ftps加密上传

    在Java开发中,我们可以借助第三方库如ftp4j来实现FTPS的加密上传功能。 ftp4j是一个轻量级、功能强大的Java FTP客户端库,支持FTP和FTPS协议。它提供了丰富的API,使开发者可以方便地执行各种FTP操作,如连接...

    ftp4j-1.3.1下载

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp...

    Java常用FTP文件操作说明Apache.FTPClient,ftp4j,jftp

    通过上述介绍可以看出,Apache.FTPClient、ftp4j及jftp都提供了丰富的FTP操作功能。开发者可以根据具体的应用场景和个人偏好选择合适的库进行集成。无论是文件上传还是下载,这些库都能够提供稳定的解决方案。同时,...

    ftp 各种客户端 ftp4j-1.5.1.zip j-ftp-1.52.tar.gz jsch-0.1.43.zip

    在这个场景中,我们看到三个不同的压缩包文件,它们可能包含了实现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

    FTPClient_ftp4j是一个专为Android平台设计的FTP客户端库,它允许开发者在Android应用中实现FTP(文件传输协议)功能。FTP是Internet上的一种标准协议,用于在客户端和服务器之间上传、下载文件。FTPClient_ftp4j库...

    ftp4j 上传文件和文件夹

    FTP4J的核心类是`FtpClient`,它提供了所有FTP操作的方法。为了上传文件,我们需要创建一个`FtpClient`实例,然后连接到FTP服务器: ```java import it.sauronsoftware.ftp4j.FtpClient; import it.sauronsoftware....

    commons-net-3.0.1.jar ftp4j

    Apache Commons Net库与Ftp4j是Java编程中用于FTP(文件传输协议)操作的重要工具。...Apache Commons Net和Ftp4j都提供了足够的灵活性来满足这些需求,使得开发者能够方便地在Java应用中实现FTP功能。

Global site tag (gtag.js) - Google Analytics