ftp上传文件

来源:互联网 发布:js模块化好处 编辑:程序博客网 时间:2024/05/21 06:42
    import java.io.File;        import java.io.FileInputStream;        import org.apache.commons.net.ftp.FTPClient;        import org.apache.commons.net.ftp.FTPReply;                public class FTP上传 {                         private  FTPClient ftp;              /**           *            * @param path 上传到ftp服务器哪个路径下              * @param addr 地址           * @param port 端口号           * @param username 用户名           * @param password 密码           * @return           * @throws Exception           */            private  boolean connect(String path,String addr,int port,String username,String password) throws Exception {                  boolean result = false;                  ftp = new FTPClient();                  int reply;                  ftp.connect(addr,port);                  ftp.login(username,password);                  ftp.setFileType(FTPClient.BINARY_FILE_TYPE);                  reply = ftp.getReplyCode();                  if (!FTPReply.isPositiveCompletion(reply)) {                      ftp.disconnect();                      return result;                  }                  ftp.changeWorkingDirectory(path);                  result = true;                  return result;              }              /**           *            * @param file 上传的文件或文件夹           * @throws Exception           */            private void upload(File file) throws Exception{                  if(file.isDirectory()){                           ftp.makeDirectory(file.getName());                                ftp.changeWorkingDirectory(file.getName());                      String[] files = file.list();                             for (int i = 0; i < files.length; i++) {                          File file1 = new File(file.getPath()+"\\"+files[i] );                          if(file1.isDirectory()){                              upload(file1);                              ftp.changeToParentDirectory();                          }else{                                            File file2 = new File(file.getPath()+"\\"+files[i]);                              FileInputStream input = new FileInputStream(file2);                              ftp.storeFile(file2.getName(), input);                              input.close();                                                }                                 }                  }else{                      File file2 = new File(file.getPath());                      FileInputStream input = new FileInputStream(file2);                      ftp.storeFile(file2.getName(), input);                      input.close();                    }              }             public static void main(String[] args) throws Exception{              FTP上传 t = new FTP上传();              t.connect("/js", "120.24.xxx.xxx", 21, "administrator", "123");    //第一个参数是需要上传的文件夹,如果直接上传到根目录,就传空字符串          File file = new File("c:\\a.txt");    //准备上传文件的地址          t.upload(file);           }        }    
附件:commons-net-2.2.jar
1 0
原创粉丝点击