Chinaunix首页 | 论坛 | 博客
  • 博客访问: 805824
  • 博文数量: 780
  • 博客积分: 7000
  • 博客等级: 少将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-12 09:11
文章分类

全部博文(780)

文章存档

2011年(1)

2008年(779)

我的朋友
最近访客

分类:

2008-09-12 09:11:56

     import org.apache.commons.net.ftp.*;

 

    import java.io.File;

    import java.io.IOException;

    import java.io.FileOutputStream;

    import java.io.FileInputStream;

    import java.net.SocketException;


    public class FtpOperator {

        FtpConfig ftpConfig;

 

        public FtpOperator(FtpConfig ftpConfig) {

            this.ftpConfig = ftpConfig;

        }

 

        public FtpOperator(String serverHost, String port, String user, String password) {

            this(new FtpConfig(serverHost, port, user, password, null, null));

        }

 

        public FtpOperator(String serverHost, String port){

            this(new FtpConfig(serverHost, port, "anonymous", "", null, null));

        }

 

        public FtpConfig getFtpConfig() {

            return ftpConfig;

        }

 

        public void setFtpConfig(FtpConfig ftpConfig) {

            this.ftpConfig = ftpConfig;

        }

 

        public FTPClient startClient()throws FtpException{

            FTPClient ftpClient = new FTPClient();

            String serverHost = ftpConfig.getServerHost();

            String serverPort = ftpConfig.getServerPort();

            int port = 0;

            try {

                port = Integer.parseInt(serverPort);

            } catch (Exception e) {

                throw new FtpException("Wrong FTP port:"+ftpConfig.getServerPort());

            }

            try {

                ftpClient.connect(serverHost,port);

                String username = ftpConfig.getUser(),

                       password = ftpConfig.getPassword();

                if(!ftpClient.login(username, password))

                    throw new FtpException("Wrong FTP login/passwd:"+username+"/"+password);

 

            }catch(SocketException se){

                throw new FtpException("Socket timeout cannot set.");

            }catch(IOException ioe) {

                throw new FtpException("Cannot open ftp connection: "+serverHost+":"+serverPort);

            }

            return ftpClient;

        }

 

        public void disposeClient(FTPClient ftpClient){

            if(ftpClient==null)

                return;

            if(ftpClient.isConnected()){

                try {

                    ftpClient.disconnect();

                } catch (IOException e) {

                }

            }

        }

 

 

 

[1]      

【责编:landy】

--------------------next---------------------

阅读(354) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~