`
morle
  • 浏览: 75068 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java Ftp

阅读更多

想为新作的Blog客户端易博增加FTP上传的功能,最省地的方法当然是利用JDK里的Socket类自己处理FTP的协议,虽然FTP不算是很复杂的协议,但是实现起来还是有点麻烦,容易出错。当然不如使用现成的工具库来得省事可靠。

Java World上有篇比较支持FTP协议的Java工具库的文章,写得很全面。
         Java FTP client libraries reviewed

粗略看了一边,决定选择The Jakarta Project, Jakarta Commons/Net。Common Net是Jakarta Commons下的一个子项目,支持包括FTP在内的多种Internet协议, 其他有比如Finger, Whois,Telnet,POP3等等。

Common Net支持FTP的关键类是org.apache.commons.net.ftp.FTPClient. 下面介绍一些具体的使用方法。

1. 使用FTPClient连接和登录FTP服务器

  1. FTPClient ftp = new FTPClient();   
  2. ftp.connect(server);   
  3. ftp.login(username, password);   
  4. System.out.println("Connected to " + server + ".");   
  5. System.out.print(ftp.getReplyString());  

类似使用ftp命令登录FTP服务器以后,可以执行各种命令比如cd和ls,可以调用FTPClient的函数比如FTPClient.changeWorkingDirectory(folder); 改变当前目录, FTPClient.listFiles()枚举当前目录下的所有文件。

2. 使用FTPClient下载文件
  1. FTPFile[] files = ftp.listFiles();   
  2. System.out.println("Number of files in dir: " + files.length);   
  3. for (int i = 0; i < files.length; i++) {   
  4.     File file = new File(destinationFolder + File.separator   
  5.                     + files[i].getName());   
  6.     FileOutputStream fos = new FileOutputStream(file);   
  7.     ftp.retrieveFile(files[i].getName(), fos);   
  8.     fos.close();   
  9.     file.setLastModified(fileDate.getTime());   
  10. }  

FTPClient.retrieveFile从FTP服务器上取回一个文件。其实我更关心的是上传的功能。

3. 使用FTPClient上传文件
  1. FileInputStream fis = new FileInputStream(localFileName);   
  2. ftp.storeFile(remoteFileName, fis);  

和retrieveFile相对应的storeFile上传一个本地文件。完事后别忘了关闭FTPClient。

4. 关闭FTPClient
  1. ftp.logout();   
  2. ftp.disconnect();  

简洁起见,以上的代码忽略了错误处理。FTPClient还支持其他一些函数,比如makeDirectory(String pathname) 在服务器上新建一个目录。rename(String from, String to) 改变一个文件的名字。 具体的请参照Commons Net的API文档。

 

分享到:
评论

相关推荐

    java ftp客户端,服务端

    Java FTP 客户端和服务端的开发涉及到网络编程和文件传输协议的重要概念。FTP(File Transfer Protocol)是一种标准网络协议,用于在计算机之间交换文件。Java作为一种通用的、面向对象的编程语言,提供了丰富的库来...

    java FTP server

    Java FTP Server是一种基于Java语言实现的FTP(File Transfer Protocol)服务器,它允许用户通过FTP协议在互联网上进行文件传输。FTP是Internet上广泛使用的标准服务之一,主要用于在客户端和服务器之间上传、下载...

    java FTP服务器文件上传下载,创建多级文件夹.zip

    Java FTP服务器文件上传下载是Java开发中常见的网络编程任务,主要涉及到FTP(File Transfer Protocol)协议的应用,用于在客户端和服务器之间传输文件。本教程将详细讲解如何使用Java实现FTP服务器的文件上传、下载...

    java ftp连接池

    Java FTP连接池是一种用于管理FTP(文件传输协议)连接的资源池,它的主要目标是提高应用程序的性能和效率。在传统的FTP操作中,每次需要连接到FTP服务器时都会创建一个新的连接,这会消耗大量时间和系统资源。而...

    java ftp 多线程 断点续传等知识

    Java FTP技术是Java编程中用于实现文件传输协议(FTP)的一种方法,主要用于在客户端和服务器之间上传、下载文件。在Java中,我们可以使用`java.net`包中的`Socket`类来实现基本的FTP功能,但更常见的是使用Apache ...

    java ftp上传 下载 文件压缩解压

    在Java编程中,FTP(File Transfer Protocol)是一个用于在计算机之间传输文件的标准协议。这篇博客“java ftp上传 下载 文件压缩解压”很可能是关于如何使用Java实现FTP文件上传、下载以及文件的压缩与解压功能。...

    java ftp服务器实例

    Java FTP服务器实例是一个非常实用的学习资源,特别是对于那些初次接触FTP(文件传输协议)服务器开发的Java程序员。FTP是互联网上一种广泛使用的协议,用于在客户端和服务器之间上传、下载文件。通过Java来实现FTP...

    java ftp断点上传和下载

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

    Java FTP 指定下载文件和上传文件到指定的服务器目录

    ### Java FTP 指定下载文件和上传文件到指定的服务器目录 #### 一、概述 在本篇文章中,我们将详细介绍如何使用Java编程语言通过FTP(文件传输协议)实现文件的上传与下载功能,并能够将文件指定上传或下载到特定...

    Java FTP文件上传下载

    Java FTP文件上传下载是Java开发中常见的网络编程任务,它涉及到Java语言的Socket编程和FTP(File Transfer Protocol)协议的应用。FTP是一种用于在网络上进行文件传输的标准协议,它允许客户端从服务器上获取文件...

    java ftp 上传 下载 断点续传

    Java FTP(File Transfer Protocol)是Java编程中用于与FTP服务器交互的一种技术,它允许程序员编写应用程序来上传、下载文件,并实现断点续传功能。在本文中,我们将深入探讨Java FTP上传、下载以及断点续传的核心...

    JAVA FTP下载 程序——源代码

    通过上述知识点的梳理,我们可以了解到如何使用 Java 编写一个基本的 FTP 客户端程序,包括连接 FTP 服务器、下载文件以及关闭连接等功能。此外,还可以进一步学习如何将 FTP 功能集成到 Web 应用程序中,如使用 JSP...

    java ftp 上传下载,代码。

    Java FTP(File Transfer Protocol)上传和下载是网络编程中常见的任务,主要涉及到文件在本地与远程服务器之间的传输。本文将详细介绍如何使用Java实现FTP的上传和下载功能,并结合提供的资源——"WinFtp Server...

    java ftp java ftp

    Java FTP(文件传输协议)是Java编程中用于与FTP服务器进行交互的一种技术。FTP是一种标准的网络协议,用于在互联网上可靠地交换文件。在Java中,我们可以利用Apache Commons Net库来实现FTP客户端的功能,从而上传...

    java FTP断续上传与下载

    Java FTP 断续上传与下载是网络编程中的一个重要概念,主要应用于大文件传输,它可以提高文件传输的效率和可靠性。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,而断续上传和下载则是...

    java Ftp上传下载

    Java FTP上传下载是Java编程语言中用于实现文件传输协议(FTP)的一种常见应用。FTP允许用户在客户端和服务器之间交换文件,这对于数据共享、备份和远程协作非常有用。以下是一些关于Java FTP上传下载的关键知识点:...

    java ftp上传工具包

    Java FTP上传工具包是一款专为Android平台设计的FTP客户端代码库,它允许开发者在Android应用中集成FTP文件传输功能,支持断点续传,提高了上传大文件时的效率和可靠性。这一工具包对于那些需要在移动设备上进行文件...

    javaftp.rar_JAVAFTP_Javaftp 服务器_ftp_java ftp_myftp.dll

    JavaFTP是一个基于Java实现的FTP(File Transfer Protocol)服务器程序,它允许用户通过FTP协议进行文件的上传、下载以及管理操作。FTP是互联网上一种广泛使用的文件传输协议,主要用于在客户端和服务器之间交换文件...

    java ftp 上传 下载 rar 压缩 解压

    在IT行业中,Java FTP上传、下载以及RAR压缩与解压是常见的操作,这些功能在文件管理系统、数据迁移、备份恢复等场景中广泛应用。本篇将详细介绍如何使用Java实现FTP(File Transfer Protocol)传输以及RAR文件的...

    Java ftp工具类,可以实现ftp上传,读取,目录切换,内容创建,目录创建、检查文件是否存在,支持主动方式和被动方式读取

    Java ftp工具类,可以实现ftp上传,读取,目录切换,内容创建,目录创建、检查文件是否存在,支持主动方式和被动方式读取

Global site tag (gtag.js) - Google Analytics