JAVA实现FTP文件上传功能

package com.sinosoft.sepmis.util;
     
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;


/**
* Java自带的API对FTP的操做
* @Title:Ftp.java
* @author: shanhongzhi 
*/
public class FtpUtil {
    /** 
     * Description: 向FTP服务器上传文件 
     * @param url FTP服务器hostname 
     * @param port FTP服务器端口,若是默认端口请写-1 
     * @param username FTP登陆帐号 
     * @param password FTP登陆密码 
     * @param path FTP服务器保存目录 
     * @param filename 上传到FTP服务器上的文件名 
     * @param input 输入流 
     * @return 成功返回true,不然返回false 
     */  
    public static boolean uploadFile(String url, int port, String username, String password, String path,  
        String filename, InputStream input)  throws Exception
    {  
        boolean success = false;  
        FTPClient ftp = new FTPClient();
        try  
        {  
            int reply;  
              
            // 链接FTP服务器  
            if (port > -1)  
            {  
                ftp.connect(url, port);  
            }  
            else  
            {  
                ftp.connect(url);  
            }  
              
            // 登陆FTP  
            ftp.login(username, password);  
            reply = ftp.getReplyCode(); 
            System.out.println(reply);
            if (!FTPReply.isPositiveCompletion(reply))  
            {  
                ftp.disconnect();  
                return success;  
            }  
            ftp.changeWorkingDirectory(path);  
            ftp.storeFile(filename, input);
            input.close();  
            ftp.logout();  
            success = true;  
        }  
        catch (IOException e)  
        {  
            success = false;  
            throw e;
        }  
        finally  
        {  
            if (ftp.isConnected())  
            {  
                try  
                {  
                    ftp.disconnect();  
                }  
                catch (IOException e)  
                {  
                    throw e;
                }  
            }  
        }  
        return success;  
    }  
   public static void main(String agrs[]) {
      try {
          File file = new File("E:\\1.txt");
          FileInputStream in = new FileInputStream(file);
          /*
           * 使用默认的端口号、用户名、密码以及根目录链接FTP服务器
          */
          //返回true上传成功,不然上传失败
         // FtpUtil.uploadFile("192.168.61.209", -22, "instiaci", "instiaci", "/db2home/instiaci/personal/shanhz","2.txt",in);
          FtpUtil.uploadFile("192.168.61.104", 22, "administrator", "123456", "/sinopipi/IC","6.txt",in);
    } catch (Exception e) {
        e.printStackTrace();
    }
    }
}

说明:使用apache提供的commons-net-2.0.jar自带的ftp功能,也能够实现文件下载功能
java

相关文章
相关标签/搜索