Java 通过FTP 上传文件的简单例子详解编程语言

本代码需要 commons-net-3.1.jar 包的支持 
 
官方网站  :  http://commons.apache.org/net/ 
 
package cn.outofmemory.net; 
 
import java.io.IOException; 
import java.io.InputStream; 
 
import org.apache.commons.net.ftp.FTPClient; 
import org.apache.commons.net.ftp.FTPReply; 
import org.apache.log4j.Logger; 
 
public class FtpUploadUtil { 
 
    private static final Logger logger = Logger.getLogger(FtpUploadUtil.class); 
 
    /** 
     * Description: 向FTP服务器上传文件 
     * @param url FTP服务器hostname 
     * @param port FTP服务器端口 
     * @param username FTP登录账号 
     * @param password FTP登录密码 
     * @param path FTP服务器保存目录 
     * @param filename 上传到FTP服务器上的文件名 
     * @param input 输入流 
     * @return 成功返回true,否则返回false 
     */ 
    public static boolean uploadFile(String url, String port, String username, String password, String path, 
            String filename, InputStream input) { 
        boolean returnValue = false; 
        FTPClient ftp = new FTPClient(); 
        try { 
            int reply; 
 
            // 判断是否使用默认端口 
            if (CMCts.EMP.equals(port)) { 
                ftp.connect(url); 
            } else { 
                int portNO = Integer.parseInt(port); 
                ftp.connect(url, portNO);// 连接FTP服务器 
            } 
 
            ftp.login(username, password);// 登录 
            reply = ftp.getReplyCode(); 
            if (!FTPReply.isPositiveCompletion(reply)) { 
                ftp.disconnect(); 
                logger.info("FTP SERVER REFUSED CONNECTION."); 
                return returnValue; 
            } 
 
            ftp.changeWorkingDirectory(path); 
            ftp.storeFile(filename, input); 
 
            input.close(); 
 
            ftp.logout(); 
            returnValue = true; 
        } catch (IOException e) { 
            logger.info("FTPUPLOADUTIL UPLOD FILE ERROR :" + e); 
            e.printStackTrace(); 
        } finally { 
            if (ftp.isConnected()) { 
                try { 
                    ftp.disconnect(); 
                } catch (IOException ioe) { 
                } 
            } 
        } 
        return returnValue; 
    } 
 
} 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/11030.html

(0)
上一篇 2021年7月19日 10:39
下一篇 2021年7月19日 10:39

相关推荐

发表回复

登录后才能评论