Java 通過FTP 上傳文件的簡單例子

yb25 9年前發布 | 2K 次閱讀 Java

本代碼需要 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;
}

} </pre>

 本文由用戶 yb25 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!