java上传文件到FTP指定的路径

第一步:导入依赖

 <!--ftpclient-->
 <dependency>            
       <groupId>commons-net</groupId>            
       <artifactId>commons-net</artifactId>
       <version>3.1</version>        
 </dependency>        
 <dependency>            
       <groupId>commons-io</groupId>            
       <artifactId>commons-io</artifactId>            
       <version>2.6</version>        
 </dependency>

第二步:代码实现

 /**     
 * @param filePath:要上传的文件全路径     
 * @param ftpPath:要上传的ftp全路径     
 * @ftpIP FTP 的IP     
 * @username  用户名     
 * @password  密码     
 * @function 将指定的文件上传到ftp指定路径     
 * @author     
 */    
public static int  sendToFtp(String filePath, String ftpPath,String ftpIP,String username,String password){        
    FTPClient ftpClient = new FTPClient();
    try {           
      //连接ftp服务器            
      //设置ip,如不设置端口,使用FTP默认端口21
      ftpClient.connect(ftpIP);            
      //设置用户名,密码            
      ftpClient.login(username, password);            
      //切换到上传目录
//ftpClient.changeWorkingDirectory("gdpHugeFileDir/TemporaryTechnology");
     ftpClient.changeWorkingDirectory(ftpPath);            
     //将连接模式设置为被动模式,被动模式下,ftp服务器提供数据传输的端口;主动模式下(ftpClient.enterLocalActiveMode();)由客户端提供数据传输端口
     ftpClient.enterLocalPassiveMode();
     //设置长传文件的类型为二进制类型(不设置可能导致图片乱码)
     ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
//ftpClient.getReplyCode()返回值:220 连接成功;230 登录成功;250 切换目录成功;221 退出ftp
     if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {                
         //关闭资源,规避内存泄漏
         ftpClient.disconnect();
         return -1;
     } else {
         try {
              File file = new File(filePath);
              FileInputStream is = new FileInputStream(file);  
              //关闭资源,规避内存泄漏
              is.close();
              ftpClient.disconnect();
              return 1;
             }catch (IOException e){
               return -1;
             }
       }
    } catch (Exception e) {
        return -1;
    }
 }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值