`
zqb666kkk
  • 浏览: 730388 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

java实现ftp的移动

    博客分类:
  • ftp
 
阅读更多
使用的 是ftp4j
先来写一登录示例,然后根据此分别来说各种操作的示例代码:

Java代码 
package test; 
import it.sauronsoftware.ftp4j.FTPClient; 
/**
* FTP操作测试
* @说明 
* @author cuisuqiang
* @version 1.0
* @since
*/ 
public class Ftp4jTest { 
    public static void main(String[] args) { 
        try { 
            // 创建客户端 
            FTPClient client = new FTPClient(); 
            // 不指定端口,则使用默认端口21 
            client.connect("192.168.1.122", 21); 
            // 用户登录 
            client.login("123", "123123"); 
            // 打印地址信息 
            System.out.println(client); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 



登录进行退出操作:

Java代码 
// 安全退出 
client.disconnect(true); 
// 强制退出 
client.disconnect(false); 


获得当前文件夹路径:

Java代码 
// 当前文件夹 
String dir = client.currentDirectory(); 
System.out.println(dir); 


创建目录

Java代码 
// 创建目录 
client.createDirectory("123"); 


切换文件夹路径,可以使用绝对路径或者是相对路径,相对路径就是相对与当前所在的路径:

Java代码 
// 改变当前文件夹 绝对路径 
// client.changeDirectory(dir + "/123"); 
//  改变当前文件夹 相对路径 
client.changeDirectory("123"); 
// 当前文件夹 
dir = client.currentDirectory(); 
System.out.println(dir); 


返回上级目录
Java代码 
client.changeDirectoryUp(); 
// 重新获得 当前文件夹 
dir = client.currentDirectory(); 
System.out.println(dir); 


重命名文件或文件夹

Java代码 
client.rename("123", "456"); 


删除目录(不能删除非空目录)  绝对或相对路径

Java代码 
client.deleteDirectory("456"); 


移动文件或文件夹

Java代码 
client.rename("readme.txt", dir + "/456/readme.txt"); 


删除文件

Java代码 
client.deleteFile(dir + "/456/readme.txt"); 


罗列当前目录下的文件和文件的修改日期,注意不要操作 . 和 .. 文件

Java代码 
// 浏览文件 
FTPFile[] list = client.list(); 
// 使用通配浏览文件 
// FTPFile[] list = client.list("*.txt"); 
// 显示文件或文件夹的修改时间 你不能获得 . 或 .. 的修改日期,否则Permission denied 
for(FTPFile f : list){ 
    if(!f.getName().equals(".") && !f.getName().equals("..")){ 
        System.out.print(f.getName() + "\t"); 
        System.out.println(client.modifiedDate(f.getName())); 
    } 



下载文件

Java代码 
File file = new File("C:\\localFile.txt"); 
client.download("remoteFile.txt", file); 


上传文件到当前目录

Java代码 
client.upload(file); 


监听文件传输状态
创建一个实现FTPDataTransferListener接口的类:
Java代码 
/**
* 监听文件传输的状态,上传下载时最后一个参数
* @说明 
* @author cuisuqiang
* @version 1.0
* @since
*/ 
class MyTransferListener implements      { 
 
    // 文件开始上传或下载时触发 
    public void started() { 
        System.out.println("started"); 
    } 
    // 显示已经传输的字节数 
    public void transferred(int length) { 
        System.out.println(length); 
    } 
    // 文件传输完成时,触发 
    public void completed() { 
        System.out.println("completed"); 
    } 
    // 传输放弃时触发 
    public void aborted() { 
        System.out.println("aborted"); 
    } 
    // 传输失败时触发 
    public void failed() { 
        System.out.println("failed"); 
    } 


然后在上传或下载时增加一个参数即可,例如上传时:
Java代码 
client.upload(file, new MyTransferListener()); 



/**
* 判断当前为文件还是目录
*
* @param client
*            FTP客户端对象
* @param dir
*            文件或目录
* @return -1、文件或目录不存在 0、文件 1、目录
* @throws Exception
*/
private static int getFileType(FTPClient client, String dir)
throws Exception {
FTPFile[] files = null;
try {
files = client.list(dir);
} catch (Exception e) {
return -1;
}
if (files.length > 1) {
return FTPFile.TYPE_DIRECTORY;
} else if (files.length == 1) {
FTPFile f = files[0];
if (f.getType() == FTPFile.TYPE_DIRECTORY) {
return FTPFile.TYPE_DIRECTORY;
}
String path = dir + "/" + f.getName();
try {
int len = client.list(path).length;
if (len == 1) {
return FTPFile.TYPE_DIRECTORY;
} else {
return FTPFile.TYPE_FILE;
}
} catch (Exception e) {
return FTPFile.TYPE_FILE;
}
} else {
try {
client.changeDirectory(dir);
client.changeDirectoryUp();
return FTPFile.TYPE_DIRECTORY;
} catch (Exception e) {
return -1;
}
}
}
分享到:
评论

相关推荐

    java 连接 FTP 文件操作(上传,下载,删除,复制

    主要依赖于`java.net.FTPURLConnection`类来实现FTP连接。但需要注意的是,这个类的功能相对有限,因此在实际开发中,我们通常会使用第三方库,如Apache的Commons Net库,它提供了更强大且易于使用的FTP功能。 **...

    java实现FTP断点续传

    这通常通过FTP的REST(Restart from a Specific Point)命令实现,客户端发送REST + 位置,服务器会将文件指针移动到指定位置。 3. **Java中的FTP库**: 在Java中,我们可以使用`java.net`包中的`Socket`类实现...

    Java实现的ftp图形化客户端,毕业设计作品.zip

    Java实现的FTP图形化客户端是一种基于Java编程语言的软件应用,用于通过图形用户界面(GUI)与FTP(文件传输协议)服务器进行交互。这个毕业设计作品展示了开发者在掌握Java编程和网络通信技术上的实践能力。FTP是...

    FTP客户端Java类库 ftp4j

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。...通过学习和熟练使用`ftp4j`,你可以实现文件的上传、下载、移动、复制和删除等操作,满足各种FTP相关的业务需求。

    功能强大的FTP软件 Java实现 完整版

    Java实现的FTP软件是一种用于在计算机之间传输文件的客户端-服务器(CS)应用程序。FTP,全称为文件传输协议,是互联网上广泛使用的标准协议之一,允许用户从远程服务器上下载文件或向服务器上传文件。本课程设计的...

    JAVA FTP 文件传输 服务端 客户端

    在Java编程中,实现FTP客户端和服务端的功能是一项常见的任务。本文将深入探讨如何使用Java来构建FTP服务端和客户端,以及相关的技术要点。 **FTP服务端** 1. **Apache MINA或Jetty FTPServer**: 在Java中,可以...

    ftp.rar_FTP CLIENT_ftp java_ftp客户端_ftp客户端 java_客户端

    在这个"ftp.rar"压缩包中,我们关注的是一个用Java语言实现的FTP客户端。Java是一种跨平台的编程语言,它提供了丰富的库和API,使得开发FTP客户端成为可能。 FTP客户端是允许用户连接到FTP服务器并执行各种操作,...

    jftp.rar_ftp_ftp客户端 java_j-ftp_java client_java ftp

    Java FTP客户端是用Java语言实现的能够连接到FTP服务器并执行各种文件操作的程序。"J-FTP"是这样的一个客户端,它提供了友好的用户界面和丰富的功能,方便开发者或普通用户在Java环境中与FTP服务器交互。 在Java中...

    基于Java的FTP客户端Java类库 ftp4j.zip

    Java FTP客户端库ftp4j是Java开发者用于实现FTP(文件传输协议)功能的强大工具。FTP是一种广泛用于在网络上上传、下载文件的标准协议。FTP4j是一个开源的Java库,由Sergio Bossa开发,它提供了丰富的API,使开发者...

    java ftp上传工具包

    总之,Java FTP上传工具包是Android开发中实现FTP功能的理想选择,尤其对于需要频繁进行文件交换的应用来说,其断点续传特性大大提升了用户体验。开发者应熟悉Java FTP API,理解其工作原理,以便有效地利用这个工具...

    java ftp断点上传和下载

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。断点续传是FTP的一个重要特性,允许用户在文件...了解这些知识点将使你能够高效地实现在Java环境中进行FTP文件的断点续传操作。

    Java实现的FTP连接与数据浏览程序Java实用源码整理learns

    "Java实现的FTP连接与数据浏览程序Java实用源码整理learns"是一个资源包,它包含了实现这些功能的Java源代码示例,对于学习和理解Java FTP编程非常有帮助。 FTP连接主要涉及到Java的`java.net`和`javax.net`包,...

    java源码包24个实例源码Java图书馆管理系统源程序Java坦克大战网络对战版源代码JAVA实现超级玛丽

    Java实现的FTP连接与数据浏览程序.rar Java实现的放大镜效果附有源文件.rar Java实现的点对点短消息发送协议(smpp)开发包源码.rar Java实现的视频播放程序源码.rar Java实现移动的遮照效果.rar JAVA实现超级玛丽.zip...

    JAVAFTP开发第三方类库

    为了方便开发者在Java中实现FTP功能,有许多第三方类库被开发出来,其中之一便是"JAVAFTP开发第三方类库",可能指的是像EDTFTPj这样的库。在本篇中,我们将深入探讨这个库以及它在Java FTP开发中的应用。 EDTFTPj是...

    java通过sftp模式实现FTP的文件上传下载删除功能

    本篇文章将详细探讨如何使用Java通过SFTP模式实现FTP的文件上传、下载和删除功能。 一、SFTP简介 SFTP与传统的FTP不同,FTP在明文传输数据,存在安全隐患,而SFTP则利用SSH提供的加密机制,确保数据在传输过程中的...

    FTP.rar_ftp_ftp java

    在这个"FTP.rar_ftp_ftp_java"的压缩包中,我们可以推测它包含了一个使用Java编程语言开发的FTP客户端应用,该应用可能是用Jbuilder这个集成开发环境(IDE)编写的。Jbuilder是Borland公司(后来被Embarcadero ...

    Android FTP源代码,可实现!

    在Android平台上,FTP(File Transfer Protocol)是一种常用的技术,用于在设备之间进行文件的上传和下载。...理解并掌握FTP协议及其在Android中的实现,对于提升移动应用的功能性和用户体验具有重要意义。

    JAVA代码实现远程操作服务器文件

    JAVA代码实现远程操作服务器文件是指使用JAVA语言实现远程操作服务器文件的功能,实现FTP,共享文件夹操作。该功能可以实现远程服务器文件的上传、下载、复制、移动、删除等操作。 description: 该实现使用了...

    java源码包实例源码JAVA开发源码50个合集.zip

    Java实现的FTP连接与数据浏览程序.rar Java实现的放大镜效果附有源文件.rar Java实现的点对点短消息发送协议(smpp)开发包源码.rar Java实现的视频播放程序源码.rar Java实现移动的遮照效果.rar JAVA实现超级玛丽.zip...

    java移动图书馆

    Java移动图书馆是一个基于J2ME(Java Micro Edition)技术实现的项目,旨在为用户提供便捷的图书查询和管理服务,使其能够在手机等移动设备上随时随地访问图书馆资源。该项目包含两个主要部分:MobileLibrary客户端...

Global site tag (gtag.js) - Google Analytics