`
kely39
  • 浏览: 48100 次
  • 性别: 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(见附件)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics