Java中操作FTP登录工具类--Java免费学习网

package com.common.ftp;

import java.io.IOException;

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

/**
 * 封装公用的FTP操作
 * 
 * @author ccj
 */
public abstract class FtpOrerate {
 public String hostname; // ftp地址

 public String username; // ftp登录用户名

 public String password; // ftp登录密码

 /**
  * 封装公用的FTP操作,包括FTP登录,退出,同时隐藏FTP操作错误信息。
  * 
  * @return
  * @throws FtpConnectionException
  */
 public boolean execute() throws FtpConnectionException {
  // 操作是否成功
  boolean isOK = false;
  FTPClient ftp = null;
  try {
   ftp = new FTPClient();
   ftp.connect(hostname);
   boolean blogin = ftp.login(username, password);
   /* 如果登录失败,则 trhow */
   if (!blogin) {
    throw new FtpConnectionException();
   }
   
   // 文件全部以二进制方式传递,如果需要上传文本,需要扩展此处
   ftp.setFileType(FTP.BINARY_FILE_TYPE);
   
   /* 取得操作成功标示 */
   isOK = setCommand(ftp);

  } catch (Exception e) {
   // *******************/
   System.err.println(e);
  } finally {
   /* 登出 */
   if (ftp != null) {
    try {
     ftp.logout();
    } catch (Exception e) {

    }
   }
   /* 关闭连接 */
   if (ftp != null) {
    try {
     ftp.disconnect();
    } catch (Exception e) {

    }
   }
   ftp = null;

  }
  return isOK;

 }

 /**
  * 基本的ftp操作,需要子类还完成
  * 
  * @param ftpClient
  * @return
  */
 protected abstract boolean setCommand(FTPClient ftpClient) throws IOException;

 /**
  * 设定ftp地址
  * 
  * @param hostname
  */
 public void setHostname(String hostname) {
  this.hostname = hostname;
 }

 /**
  * 设定ftp密码
  * 
  * @param password
  */
 public void setPassword(String password) {
  this.password = password;
 }

 /**
  * 设定ftp用户名
  * 
  * @param username
  */
 public void setUsername(String username) {
  this.username = username;
 }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值