FTPClient上传storeFile报错,求救

今天要写一个很简单的ftp上传的代码,结果总是报错,请教各位大神来帮忙解决

这是我的代码

 public class UpLoadJSToFtp {

    /**
     * 
     * @param url ftp服务器地址
     * @param port ftp服务器端口号    
     * @param userName 登录账号
     * @param password 登录密码
     * @param path 服务器保存路径
     * @param fileName 文件名
     * @param input 输入流
     * @return 上传成功返回true ,失败返回false
     */
    public static boolean uploadFile(String url,
            int port,
            String userName,
            String password,
            String path,
            String fileName,
            InputStream input){
        boolean isSuccess = false;
        FTPClient ftp = new FTPClient();
        ftp.setControlEncoding("UTF-8");
        try {
            int reply;
            ftp.connect(url);// 连接FTP服务器
            // 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
            boolean loginResualt = ftp.login(userName, password);
            reply = ftp.getReplyCode();
            if(!loginResualt && !FTPReply.isPositiveCompletion(reply)){
                ftp.disconnect();
                return isSuccess;
            }
            ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
            ftp.makeDirectory(path);
            ftp.changeWorkingDirectory(path);
            ftp.enterLocalPassiveMode();
            ftp.storeFile(fileName, input);
            input.close();
            ftp.logout();
            isSuccess = true;
        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {  
              if(ftp.isConnected()) {  
                    try {  
                      ftp.disconnect();  
                    } catch(IOException ioe) {  
                    }  
                  }
        }
        return isSuccess;
    }

    /**
     * 将本地文件上传到FTP服务器上 *
     */
    public static void upLoadFromProduction(String url,// FTP服务器hostname
            int port,// FTP服务器端口
            String username, // FTP登录账号
            String password, // FTP登录密码
            String path, // FTP服务器保存目录
            String filename, // 上传到FTP服务器上的文件名
            String pathName // 输入流文件路径
       ) {
        try {
            FileInputStream in = new FileInputStream(new File(pathName));
            boolean flag = uploadFile(url, port, username, password, path,filename, in);
            System.out.println(flag);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        String url = "172.25.5.229";
        int port = 22;
        String username = "etdftp";
        String password = "123";
        String path = "/caoyang";
        String filename = "caoyangFTPTEST.js";
        String pathName = "D:/FndData_1021.js";
        upLoadFromProduction(url, port, username, password, path, filename, pathName);
    }
}

这是报的错误,求解

 java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:189)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:154)
    at java.io.BufferedReader.read(BufferedReader.java:175)
    at org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)
    at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:310)
    at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:290)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:479)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:552)
    at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:601)
    at org.apache.commons.net.ftp.FTP.pasv(FTP.java:952)
    at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:755)
    at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:565)
    at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:557)
    at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1795)
    at stag.utils.UpLoadJSToFtp.uploadFile(UpLoadJSToFtp.java:54)
    at stag.utils.UpLoadJSToFtp.upLoadFromProduction(UpLoadJSToFtp.java:89)
    at stag.utils.UpLoadJSToFtp.main(UpLoadJSToFtp.java:104)
false

没人帮忙吗!求助啊!为什么FTPClient在jdk1.6以上就不能正常运行了。求解

看一下windows系统的防火墙是不是开了, 如果打开了, 关闭一下, 再尝试一下上传功能, 看能够成功. 如果不行, 看一下你的ftpclient相关的jar包版本和jdk版本是否匹配, 这里也可能出问题.