支持代理的FTP操作

ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。


import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.connectors.FTPProxyConnector;
import it.sauronsoftware.ftp4j.connectors.HTTPTunnelConnector;
import it.sauronsoftware.ftp4j.connectors.SOCKS4Connector;
import it.sauronsoftware.ftp4j.connectors.SOCKS5Connector;
import it.sauronsoftware.ftp4j.connectors.SSLConnector;

JAR包下载地址:http://www.sauronsoftware.it/projects/ftp4j/download.php

示例代码:

//上传文件到FTP上去
     FTPClient ftp = new FTPClient();
     try
     {  
         //如果配置了代理服务器,那么使用代理的一些配置
         if (ftp_proxy_ip.trim().length()> 0 )
         {      
             //FTP代理连接器
             if (ftp_proxy_type.equals( "FTPProxyConnector" ))
             {
                 FTPProxyConnector type= new FTPProxyConnector(ftp_proxy_ip.trim(),ftp_proxy_port);
                 ftp.setConnector(type);
             }
             else //SOCKET4代理连接器
             if (ftp_proxy_type.equals( "SOCKS4Connector" ))
             {
                 SOCKS4Connector type= new SOCKS4Connector(ftp_proxy_ip.trim(),ftp_proxy_port);
                 ftp.setConnector(type);
             }
             else //SOCKET5代理连接器
             if (ftp_proxy_type.equals( "SOCKS5Connector" ))
             {
                 SOCKS5Connector type= new SOCKS5Connector(ftp_proxy_ip.trim(),ftp_proxy_port);
                 ftp.setConnector(type);
             }
             else //http代理连接器
             if (ftp_proxy_type.equals( "HTTPTunnelConnector" ))
             {
                 HTTPTunnelConnector type= new HTTPTunnelConnector(ftp_proxy_ip.trim(),ftp_proxy_port);
                 ftp.setConnector(type);
             }
             else //ssl代理连接器
             if (ftp_proxy_type.equals( "SSLConnector" ))
             {              
                 SSLConnector type= new SSLConnector();
                 ftp.setConnector(type); 
             }                  
         }          
         //连接上FTP
         ftp.connect(ftp_ip, ftp_port);
         
         //自动选择(根据文件内容)
         ftp.setType(FTPClient.TYPE_AUTO);
         //登录FTP
         ftp.login(ftp_username, ftp_password);
         System.out.println( "FTP登录成功!" );
     }
     catch (Exception err)
     {
         System.out.println( "FTP登录失败!" );
         return ;
     }              
     
     //这个学校的FTP目录是否已存在,不存在就创建之
     try
     {
         ftp.changeDirectory( "/" +school_id+ "/" );
     }
     catch (Exception err)
     {
         ftp.changeDirectory( "/" );
         ftp.createDirectory(school_id);
     }
     
     try {
         ftp.changeDirectory( "/" +school_id+ "/" );
         //上传文档
         File myfi= new File(TempDirectory+ ".zip" );
         ftp.upload(myfi);      
         System.out.println( "成功上传文件:" +myfi.getName());
     } catch (Exception e) {
         System.out.println( "error:" +e.toString());
     }
     //登出
     ftp.disconnect( true );
     System.out.println( "结束FTP上传,成功退出!" );

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值