去这里看看, 有FTPClient. 
http://commons.apache.org/net/

解决方案 »

  1.   

    部分主要代码...(使用的apache的FTPClient类库)         FTPClient   ftp   =   new   FTPClient(); 
             ftp.setControlEncoding("GBK");//设置字符编码...和FTP服务器一致
             ftp.setBufferSize(65536);
             ftp.connect(server,serport);  //ftp地址和端口
     
     try
     {
     ftp.setSoTimeout(15000);  //设置超时
     } catch(Exception e)
        {
           ftp.disconnect();
           return;
         }
     
     ftp.login(username,   password);  //ftp账号,密码
     FTPClientConfig conf = new FTPClientConfig(getSystemKey(ftp.getSystemName()));
     conf.setServerLanguageCode("zh");
     ftp.configure(conf);
     ftp.enterLocalPassiveMode();
     
     ftp.setFileType(FTP.BINARY_FILE_TYPE); //传输2进制文件
     
     ftp.changeWorkingDirectory(ftppath);   //更改登陆的ftp目录以上主要是连接FTP部分剩下的传输就是使用io字节流进行读写就行了,几乎和本地读写一样简单...
    举例:
    上传文件BufferedOutputStream bof=new BufferedOutputStream(ftp.storeFileStream(flname)); //flname是你保存在FTP服务器上的文件名然后就是对这个输出流不停的写字节啊写字节.....下载就是用FTPClient提供的另一个方法配合输入流写文件到本地就好了
    (这是我以前写的代码,只用到了上传,并且现在手头么有FTPClient的API,所以就无法提供下载的具体代码了,见谅)