zoukankan      html  css  js  c++  java
  • Java实现ftp上传文件、文件夹

     1     import java.io.File;  
     2     import java.io.FileInputStream;  
     3     import org.apache.commons.net.ftp.FTPClient;  
     4     import org.apache.commons.net.ftp.FTPReply;  
     5       
     6     public class test {    
     7          
     8         private  FTPClient ftp;    
     9         /** 
    10          *  
    11          * @param path 上传到ftp服务器哪个路径下    
    12          * @param addr 地址 
    13          * @param port 端口号 
    14          * @param username 用户名 
    15          * @param password 密码 
    16          * @return 
    17          * @throws Exception 
    18          */  
    19         private  boolean connect(String path,String addr,int port,String username,String password) throws Exception {    
    20             boolean result = false;    
    21             ftp = new FTPClient();    
    22             int reply;    
    23             ftp.connect(addr,port);    
    24             ftp.login(username,password);    
    25             ftp.setFileType(FTPClient.BINARY_FILE_TYPE);    
    26             reply = ftp.getReplyCode();    
    27             if (!FTPReply.isPositiveCompletion(reply)) {    
    28                 ftp.disconnect();    
    29                 return result;    
    30             }    
    31             ftp.changeWorkingDirectory(path);    
    32             result = true;    
    33             return result;    
    34         }    
    35         /** 
    36          *  
    37          * @param file 上传的文件或文件夹 
    38          * @throws Exception 
    39          */  
    40         private void upload(File file) throws Exception{    
    41             if(file.isDirectory()){         
    42                 ftp.makeDirectory(file.getName());              
    43                 ftp.changeWorkingDirectory(file.getName());    
    44                 String[] files = file.list();           
    45                 for (int i = 0; i < files.length; i++) {    
    46                     File file1 = new File(file.getPath()+"\"+files[i] );    
    47                     if(file1.isDirectory()){    
    48                         upload(file1);    
    49                         ftp.changeToParentDirectory();    
    50                     }else{                  
    51                         File file2 = new File(file.getPath()+"\"+files[i]);    
    52                         FileInputStream input = new FileInputStream(file2);    
    53                         ftp.storeFile(file2.getName(), input);    
    54                         input.close();                          
    55                     }               
    56                 }    
    57             }else{    
    58                 File file2 = new File(file.getPath());    
    59                 FileInputStream input = new FileInputStream(file2);    
    60                 ftp.storeFile(file2.getName(), input);    
    61                 input.close();      
    62             }    
    63         }    
    64        public static void main(String[] args) throws Exception{  
    65           test t = new test();  
    66           t.connect("", "localhost", 21, "yhh", "yhhazr");  
    67           File file = new File("e:\uploadify");  
    68           t.upload(file);  
    69        }  
    70     }  

    其中port:21是默认端口,可以不写

  • 相关阅读:
    spring boot的actuator
    mongo的用户角色配置
    spring boot使用AOP统一处理web请求
    (原)luarocks install 提示 failed fetching manifest
    (原)ubuntu中安装kate
    (原+转)Ubuntu16.04软件中心闪退及wifi消失
    (原)torch使用caffe时,提示CUDNN_STATUS_EXECUTION_FAILED
    (原)torch中微调某层参数
    (原)torch的apply函数
    (原)torch的训练过程
  • 原文地址:https://www.cnblogs.com/tianhyapply/p/3721370.html
Copyright © 2011-2022 走看看