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

ftp实现上传

    博客分类:
  • java
阅读更多

采用 apache的 commons-net包

java 代码
  1. import java.io.FileInputStream;   
  2. import java.io.IOException;   
  3.   
  4. import org.apache.commons.net.ftp.FTP;   
  5. import org.apache.commons.net.ftp.FTPClient;   
  6. import org.apache.commons.net.ftp.FTPReply;   
  7. import org.apache.log4j.Logger;   
  8.   
  9. public class FtpUtil {   
  10.     private Logger log = Logger.getLogger(this.getClass());   
  11.     private String ftpServer;   
  12.     private String userName;   
  13.     private String pswd;   
  14.        
  15.     public void setFtpServer(String ftpServer) {   
  16.         this.ftpServer = ftpServer;   
  17.     }   
  18.   
  19.     public void setPswd(String pswd) {   
  20.         this.pswd = pswd;   
  21.     }   
  22.   
  23.     public void setUserName(String userName) {   
  24.         this.userName = userName;   
  25.     }   
  26.        
  27.     /**  
  28.      * 连接Ftp服务器  
  29.      * @return  
  30.      * @throws SmpBizException  
  31.      */  
  32.     public  FTPClient loginToFtpServer() throws Exception {   
  33.            
  34.         FTPClient ftp = new FTPClient();   
  35.         try {   
  36.             ftp.connect(this.ftpServer);   
  37.             int reply = ftp.getReplyCode();   
  38.             if(!FTPReply.isPositiveCompletion(reply)){   
  39.                 log.error("Ftp connect to "+this.ftpServer +" failed!");   
  40.                 throw new Exception("Ftplogin to connect to "+this.ftpServer +" failed!");   
  41.             }   
  42.             ftp.login(this.userName,this.pswd);   
  43.             log.debug("Ftp connect to "+this.ftpServer +" success!");   
  44.   
  45.         } catch (Exception e) {   
  46.             log.error("Ftp connect "+this.ftpServer +" failed!!");   
  47.             throw new Exception("FtpLogin to "+this.ftpServer +" failed!!");   
  48.         }   
  49.         return ftp;   
  50.     }   
  51.        
  52.     /**  
  53.      * Ftp文件到服务器  
  54.      * @param remotPath  
  55.      * @param localFile  
  56.      * @param remoteFileName  
  57.      * @throws SmpBizException  
  58.      */  
  59.     public void upload(String remotPath,String localFile,String remoteFileName) throws Exception{   
  60.         FTPClient ftp = this.loginToFtpServer();   
  61.         FileInputStream in = null;   
  62.         try {   
  63.             log.debug("--- ftp begin! ---");   
  64.             ftp.setFileType(FTP.BINARY_FILE_TYPE);    
  65.             ftp.enterLocalPassiveMode();                
  66.             if(null!=remotPath&&(!ftp.changeWorkingDirectory(remotPath))){   
  67.                 ftp.makeDirectory( remotPath );    
  68.                 ftp.changeWorkingDirectory( remotPath );                    
  69.             }   
  70.   
  71.             in = new FileInputStream(localFile);   
  72.             ftp.storeFile(remoteFileName, in);   
  73.             log.debug("--- ftp finish! ---");   
  74.         } catch (IOException e) {   
  75.             log.error("ftp file:"+ localFile +" fail!!!");   
  76.             throw new Exception("ftp file:"+ localFile +" fail!!!");   
  77.         }finally{   
  78.             try {   
  79.                 ftp.disconnect();   
  80.                 if(null!=in){   
  81.                     in.close();   
  82.                 }   
  83.             } catch (IOException e) {   
  84.                 this.log.error("close connect failed!");   
  85.                 e.printStackTrace();   
  86.             }   
  87.         }   
  88.     }   
  89.        
  90.     /**   
  91.     * 远程文件路径编码(上传到ftp上的文件路径)   
  92.     *   
  93.     * @param remoteFilePath   
  94.     * @return   
  95.     */    
  96.     protected String enCodingRemoteFilePath(String remoteFilePath) {    
  97.           return null;    
  98.     }       
  99.           
  100. }  
分享到:
评论

相关推荐

    java FTP 实现上传 下载 拷贝

    java FTP 实现上传 下载 拷贝 亲测可用 java FTP 实现上传 下载 拷贝 java FTP 实现上传 下载 拷贝

    FTP实现上传,下载功能

    通过FTP,用户可以在客户端和服务器之间交换文件,实现上传、下载、删除等操作。本篇文章将详细探讨如何使用FTP来实现这些功能,特别是结合Serv-U这款流行的FTP服务器软件。 一、FTP基础 FTP基于TCP/IP协议,采用...

    java实现ftp上传下载

    Java实现FTP上传下载是Java开发中常见的任务,主要用于在服务器和客户端之间传输文件。FTP(File Transfer Protocol)是一种用于在Internet上进行文件传输的标准协议。本篇将详细讲解如何使用Java来实现FTP的上传和...

    仿FTP实现 上传下载

    在本文中,我们将深入探讨如何在Ubuntu 16.04环境下使用C语言实现一个基本的FTP(File Transfer Protocol)服务器,重点在于登录、上传、下载和退出功能。FTP是一种广泛应用的网络协议,用于在互联网上交换文件。...

    curl实现ftp上传下载

    在这个场景中,我们将关注如何使用C++编程语言,通过libcurl库来实现FTP的上传和下载功能。libcurl是curl项目的库形式,提供了一个方便的API,使得开发者能够在各种编程环境中利用curl的功能。 首先,我们需要理解...

    java实现ftp自动上传文件

    Java 实现 FTP 自动上传文件是一项常见的任务,尤其在自动化部署、数据同步或者日志传输等场景中。本文将深入探讨如何使用Java编程语言来构建一个FTP文件上传系统,同时结合Log4j日志框架和命令行信息的处理。 首先...

    FTP上传 实现网站预览

    FTP上传实现网站预览的过程涉及多个步骤和技术,下面将详细解释这一过程。 1. FTP客户端与服务器: FTP服务需要一个服务器端和客户端。服务器端是存储网站文件的地方,而客户端是用户用来连接服务器并管理文件的...

    java实现的ftp文件上传

    Java作为多平台支持的编程语言,提供了丰富的库和API来实现FTP文件上传功能。本篇文章将详细探讨如何使用Java实现FTP文件上传,以及相关类的作用。 首先,我们来看标题和描述中的关键词"java实现的ftp文件上传",这...

    自己重新封装的C# FTP实现上传,下载,创建文件,文件夹,删除单个文件 MD5校验等

    3. **上传与下载**:C# FTP客户端通过FtpWebRequest的UploadData和DownloadData方法实现文件的上传和下载。上传时,程序将本地文件内容转换为字节数组,然后通过FTP服务器的STOR命令发送;下载则相反,使用RETR命令...

    Qt5.8用FTP实现文件上传和下载(带进度条)

    在本文中,我们将深入探讨如何使用Qt5.8框架通过FTP协议实现文件的上传和下载功能,同时结合进度条来实时展示操作进度。Qt是一个功能强大的C++库,提供了丰富的图形用户界面(GUI)工具和网络通信接口,使得开发者...

    JAVA实现简单的对FTP上传与下载

    本文将详细介绍如何使用Java实现简单的FTP文件上传与下载功能,并基于提供的"ftpLoadDown.jar"库和"使用方法.txt"来解析相关知识。 首先,我们需要了解FTP的基础知识。FTP是一种应用层协议,它依赖于TCP/IP协议栈,...

    Qt4实现ftp上传下载服务器

    **Qt4实现FTP上传下载服务器** Qt是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面和移动设备的应用程序开发。FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,允许用户从远程主机...

    Ftp客户端实现:Ftp文件上传,Ftp文件加密,Ftp文件夹上传

    本文将详细介绍如何实现FTP客户端的功能,包括单文件上传、多文件上传、文件加密、下载文件、解密文件以及文件夹上传。 ### FTP客户端基础 FTP客户端通常由以下几个核心组件构成: 1. **连接管理**:客户端需要与...

    javaftp实现上传下载解决编码问题.doc

    总的来说,Java中实现FTP上传下载并解决编码问题需要理解`FtpClient`的工作原理,以及如何通过自定义类来扩展其功能。同时,编写健壮的FTP工具类时,需要充分考虑异常情况,以确保文件传输的稳定性和可靠性。

    winform实现FTP上传、下载、删除文件

    在本文中,我们将深入探讨如何使用WinForm应用程序实现FTP(File Transfer Protocol)的基本操作,包括文件的上传、下载和删除。WinForm是.NET框架中用于创建桌面应用的用户界面组件,而FTP则是一种广泛用于互联网上...

    C#实现的FTP文件上传和下载

    在本文中,我们将深入探讨如何使用C#编程语言来实现FTP(文件传输协议)客户端功能,包括文件的上传和下载。FTP是一种广泛用于在互联网上交换文件的标准协议,而C#提供了一个强大的类库——`System.Net....

    golang实现ftp上传资源

    在"Go实现FTP上传资源"这个主题中,我们需要关注以下几个关键知识点: 1. **FTP协议基础**:FTP协议由两部分组成,即控制连接和数据连接。控制连接用于发送命令和接收响应,数据连接则用于实际的文件传输。FTP支持...

    java实现文件上传到ftp

    本教程将详细介绍如何使用Java实现文件上传到FTP服务器,这适用于初学者熟悉FTP客户端编程的基础概念。 首先,我们要了解FTP的基本工作原理。FTP允许客户端连接到服务器,发送文件,接收文件,或者列出服务器上的...

    Qt+libcurl实现FTP文件上传和下载

    本教程将聚焦于如何利用Qt库结合libcurl库来实现FTP文件的上传和下载功能。 首先,Qt是一个功能强大的C++图形用户界面库,它提供了一整套用于创建桌面和移动应用的工具和框架。而libcurl是一个开源的库,能够处理...

Global site tag (gtag.js) - Google Analytics