`
kely39
  • 浏览: 48879 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
package com.ideal.portal.base.util.ftpUtil;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Date;

import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.net.ftp.FTPClient;

import com.ideal.portal.base.util.DateUtil;


/**
 * @author
 * 2013-7-1
 */
public class FtpUploadFile {
	
	
	/**
	 * FTP上传单个文件测试 
	 * @param Ip ftp地址
	 * @param port ftp 端口
	 * @param loginName ftp 登录用户名
	 * @param pwd ftp 登录密码
	 * @param path 上传文件路径
	 * @param toPath 上传ftp指定路径
	 */
    public static String ftpUpload(String Ip,int port,String loginName,String pwd,String path,String toPath) { 
        FTPClient ftpClient = new FTPClient(); 
        FileInputStream fis = null; 
        String newfileName = null;//转换后的文件名称
        String datestr = DateUtil.date2String(new Date(), "yyyyMMddHHmmss")+RandomStringUtils.randomNumeric(4);
        try { 
            ftpClient.connect(Ip,port); 
            ftpClient.login(loginName, pwd); 

            File srcFile = new File(path); 
            fis = new FileInputStream(srcFile); 
            
            //获取后缀名
            String fileName = srcFile.getName();
            String prefix=fileName.substring(fileName.lastIndexOf(".")+1); 
            
            newfileName = datestr+"."+prefix;
            
            
            //设置上传目录 
            ftpClient.changeWorkingDirectory(toPath.trim().equals("") ? "/" : toPath); 
            ftpClient.setBufferSize(1024); 
            ftpClient.setControlEncoding("GBK"); 
            //设置文件类型(二进制) 
            ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); 
            ftpClient.storeFile(newfileName, fis); 
            
            ftpClient.logout();
        } catch (IOException e) { 
            e.printStackTrace(); 
            throw new RuntimeException("FTP客户端出错!", e); 
        } finally { 
            IOUtils.closeQuietly(fis); 
            try { 
                ftpClient.disconnect(); 
            } catch (IOException e) { 
                e.printStackTrace(); 
                throw new RuntimeException("关闭FTP连接发生异常!", e); 
            } 
        }
        
        return newfileName;
    } 
    
    
    
    public static void main(String[] args) {
		
    	FtpUploadFile ftpUploadFile = new FtpUploadFile();
    	
    	ftpUploadFile.ftpUpload("10.4.247.111",21,"lgc", "lgc", "D:\\log\\puzzles.text", "/uploadFile/");
    	
    	
    	/*String datestr = DateUtil.date2String(new Date(), "yyyyMMddHHmmss");
    	String str  = RandomStringUtils.randomNumeric(4);
    	System.out.println(datestr);
    	System.out.println(str);
    	*/
    	
	}
    
    

	
	
}

 需导入:commons-net-1.4.1.jar(见附件)

分享到:
评论

相关推荐

    FTP控件_ftp上传_文件上传_ftp控件_FTP上传控件_

    "FTP上传控件"是专为实现文件上传功能而设计的,它简化了FTP客户端的实现过程,开发者无需深入了解FTP协议的细节,就能在应用中实现文件上传功能。"FTP上传控件"的关键特性包括支持超大文件上传和断点续传。 超大...

    Labview FTP上传文件

    Labview FTP上传文件是利用Labview(Laboratory Virtual Instrument Engineering Workbench)这一强大的图形化编程环境,通过FTP(File Transfer Protocol)协议实现文件的远程传输。FTP是一种标准网络协议,用于在...

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

    总的来说,使用Java实现FTP上传和下载涉及网络通信、文件操作和错误处理等多个方面的知识。通过"ftpLoadDown.jar"库,我们可以简化这个过程,使得开发者可以专注于业务逻辑,而无需关心底层的FTP协议细节。在实际...

    VB API 实现FTP上传下载源代码

    **VB API FTP上传下载源代码详解** 在信息技术领域,FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。在VB(Visual Basic)环境中,我们可以使用API(Application Programming Interface...

    golang实现ftp上传资源

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

    C++ libcurl ftp上传文件

    BoschNetConn可能是你的项目或库的名字,它可能封装了这些libcurl的FTP上传操作,提供了一种更方便的方式来处理网络连接。如果你正在使用这个库,你应该查阅其文档以了解如何具体使用它的API来上传文件。 总之,C++...

    FTP上传与下载程序PB

    在这个"FTP上传与下载程序PB"的案例中,我们将会探讨如何使用PowerBuilder来实现FTP功能,包括文件的上传和下载,以及可能涉及的自动升级机制。 首先,理解FTP的基本概念至关重要。FTP允许用户在两台计算机之间交换...

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

    **FTP上传文件:** 要实现FTP文件上传,我们首先创建一个`FtpWebRequest`对象,设置其方法为`WebMethod.UploadFile`,然后提供FTP服务器的URL、用户名和密码。接着,打开一个流写入器,将本地文件内容写入请求的主体...

    curl实现ftp上传下载

    FTP上传涉及到将本地文件发送到远程FTP服务器。使用libcurl,我们可以通过以下步骤实现: 1. **初始化libcurl**:创建一个`CURL`指针,并调用`curl_global_init()`初始化全局设置。 2. **设置URL**:使用`curl_...

    FTP上传(断点续传)更新进度条

    FTP上传和断点续传是网络传输中两个重要的概念,特别是在大文件传输场景下,而更新进度条则是提升用户体验的关键元素。在这个公司项目的第一个版本中,我们关注的是如何实现一个功能完善的FTP上传系统,该系统支持...

    FTP上传实例(带进度条)

    这个FTP上传实例提供了可视化的进度反馈,使得用户能够清晰地看到文件上传的进度,提高了用户体验。 FTP上传的核心原理是通过FTP客户端连接到FTP服务器,然后将本地文件分块发送到服务器。在这个过程中,通过跟踪已...

    萤石云摄像头自动截图以及FTP上传

    萤石云摄像头自动截图以及FTP上传是一个集成自动化与远程存储功能的系统,它结合了现代监控设备的技术优势,为用户提供了一种高效、便捷的方式来管理和获取摄像头捕获的图像。在这个系统中,萤石云摄像头扮演着核心...

    FTP上传 实现网站预览

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

    Delphi Ftp上传程序

    Delphi FTP上传程序是使用Delphi7开发的一个应用程序,它实现了通过FTP(文件传输协议)将本地文件上传到远程服务器的功能。FTP是一种广泛用于互联网上的标准协议,允许用户在计算机之间传输文件。在这个项目中,...

    ftp上传程序(典型的ftp上传应用)

    FTP上传程序就是实现这一功能的应用,允许用户将本地计算机上的文件或目录上传到远程FTP服务器上。这种程序通常具有用户友好的界面,简化了文件传输过程。 在"FTP上传程序(典型的ftp上传应用)"中,重点在于程序...

    FTP上传与下载pb9.0code

    标题“FTP上传与下载pb9.0code”指的是使用PowerBuilder 9.0(简称PB9)开发的一个程序,该程序实现了FTP(File Transfer Protocol)的上传和下载功能。PowerBuilder是一款强大的可视化编程工具,特别适合于构建...

    ftp上传demo

    FTP(File Transfer Protocol)是一种基于TCP/IP协议的...综上所述,FTP上传涉及到网络通信、身份验证、文件操作等多个方面,理解并熟练运用FTP上传能有效提高工作效率,特别是在需要跨网络共享和管理文件的环境中。

    ftp上传工具, 上传ftp服务器

    在这个场景中,我们关注的是一个基于Java开发的FTP上传工具,它能够帮助用户将本地文件上传到FTP服务器。以下是一些关于FTP上传工具和相关技术的知识点: 1. **FTP基本概念**: FTP是一个应用层协议,基于TCP/IP...

    非常好用的ftp上传工具

    很好用的ftp上传工具,上传速度也很快,很好用的ftp上传工具,上传速度也很快,很好用的ftp上传工具,上传速度也很快,

    VC++ FTP上传下载

    在VC++中实现FTP上传和下载功能,开发者通常会利用WinInet库或第三方FTP库。 首先,让我们深入了解一下FTP上传。FTP上传是指将本地计算机上的文件发送到FTP服务器的过程。在VC++中,可以使用WinInet API来实现这一...

Global site tag (gtag.js) - Google Analytics