免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2417 | 回复: 0
打印 上一主题 下一主题

FTP连接服务器错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-29 15:24 |只看该作者 |倒序浏览
最近因为项目中涉及到FTP下载功能,所以做了一个测试例子,可是连接服务器的时候老报如下异常:
java.lang.NullPointerException
        at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:441)
        at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:520)
        at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:569)
        at org.apache.commons.net.ftp.FTP.quit(FTP.java:781)
        at org.apache.commons.net.ftp.FTPClient.logout(FTPClient.java:706)
        at test.closeFTP(test.java:44)
        at test.login(test.java:7
        at test.main(test.java:85)


java代码如下:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

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

public class test {
       
        /**
         * 关闭FTP
         *
         * @param ftp
         *            ftp连接
         */
        public static void closeFTP(FTPClient ftp) {
                try {
                        if (ftp != null) {
                                ftp.logout();
                                ftp.disconnect();
                                ftp = null;
                        }
                } catch (Exception ex3) {
                        ex3.printStackTrace();
                }
        }
        /**
         * 获取FTP连接
         *
         * @param ip
         *            ip地址
         * @param account
         *            账户
         * @param password
         *            密码
         * @return ftp连接
         */
        public static FTPClient login(String ip, String account, String password) {
                FTPClient ftp = null;
                try {
                        ftp = new FTPClient();
                        ftp.setDefaultTimeout(10000);
                        ftp.connect(ip, 21);
                        boolean status = ftp.login(account, password);
                        System.out.println("bbb"+status);
                        if (status == false) {
                                throw new Exception("login status false";
                        }
                        ftp.enterLocalPassiveMode();
                        ftp.setBufferSize(1024);
                        ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
                } catch (Exception ex1) {
                        closeFTP(ftp);
                        return null;
                }
                return ftp;
        }
        public static void main(String[] args) {
                try {
                        FTPClient ftp = test.login(ip, username, password);
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

}

在此请教各位童鞋。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP