国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java FTPClient實現文件上傳下載

2019-11-26 14:26:21
字體:
來源:轉載
供稿:網友

在JAVA程序中,經常需要和FTP打交道,比如向FTP服務器上傳文件、下載文件,本文簡單介紹如何利用jakarta commons中的FTPClient(在commons-net包中)實現上傳下載文件。
所用到的jar包有: 
commons-net-1.4.1.jar 
jakarta-oro.jar 
一、上傳文件

 文件上傳源代碼     /**    * Description: 向FTP服務器上傳文件    * @Version1.0    * @param url FTP服務器hostname    * @param port FTP服務器端口    * @param username FTP登錄賬號    * @param password FTP登錄密碼    * @param path FTP服務器保存目錄    * @param filename 上傳到FTP服務器上的文件名    * @param input 輸入流    * @return 成功返回true,否則返回false    */   public static boolean uploadFile(     String url,//FTP服務器hostname     int port,//FTP服務器端口     String username, // FTP登錄賬號     String password, //FTP登錄密碼     String path, //FTP服務器保存目錄     String filename, //上傳到FTP服務器上的文件名     InputStream input // 輸入流     ) {    boolean success = false;    FTPClient ftp = new FTPClient();    try {     int reply;     ftp.connect(url, port);//連接FTP服務器      //如果采用默認端口,可以使用ftp.connect(url)的方式直接連接FTP服務器      ftp.login(username, password);//登錄      reply = ftp.getReplyCode();     if (!FTPReply.isPositiveCompletion(reply)) {      ftp.disconnect();      return success;     }     ftp.changeWorkingDirectory(path);     ftp.storeFile(filename, input);             input.close();     ftp.logout();     success = true;    } catch (IOException e) {     e.printStackTrace();    } finally {     if (ftp.isConnected()) {      try {       ftp.disconnect();      } catch (IOException ioe) {      }     }    }    return success;   } 

以下是文件上傳的測試用例:

 /**   * 將本地文件上傳到FTP服務器上   *   */  public void testUpLoadFromDisk(){   try {    FileInputStream in=new FileInputStream(new File("D:/test.txt"));    boolean flag = uploadFile("127.0.0.1", 21, "administrator", "zyuc2011", "test", "test.txt", in);    System.out.println(flag);   } catch (FileNotFoundException e) {    e.printStackTrace();   }   }  /**   * 在FTP服務器上生成一個文件,并將一個字符串寫入到該文件中   *   */  public void testUpLoadFromString(){   try {    String str = "這是要寫入的字符串!";    InputStream input = new ByteArrayInputStream(str.getBytes("utf-8"));    boolean flag = uploadFile("127.0.0.1", 21, "administrator", "zyuc2011", "test", "test.txt", input);    System.out.println(flag);   } catch (UnsupportedEncodingException e) {    e.printStackTrace();   }  } 

二、文件下載
文件下載源代碼  

 /**   * Description: 從FTP服務器下載文件   * @Version1.0   * @param url FTP服務器hostname   * @param port FTP服務器端口   * @param username FTP登錄賬號   * @param password FTP登錄密碼   * @param remotePath FTP服務器上的相對路徑   * @param fileName 要下載的文件名   * @param localPath 下載后保存到本地的路徑   * @return   */  public static boolean downFile(    String url, //FTP服務器hostname    int port,//FTP服務器端口    String username, //FTP登錄賬號    String password, //FTP登錄密碼    String remotePath,//FTP服務器上的相對路徑    String fileName,//要下載的文件名    String localPath//下載后保存到本地的路徑    ) {   boolean success = false;   FTPClient ftp = new FTPClient();   try {    int reply;    ftp.connect(url, port);    //如果采用默認端口,可以使用ftp.connect(url)的方式直接連接FTP服務器     ftp.login(username, password);//登錄     reply = ftp.getReplyCode();    if (!FTPReply.isPositiveCompletion(reply)) {     ftp.disconnect();     return success;    }    ftp.changeWorkingDirectory(remotePath);//轉移到FTP服務器目錄     FTPFile[] fs = ftp.listFiles();    for(FTPFile ff:fs){     if(ff.getName().equals(fileName)){      File localFile = new File(localPath+"/"+ff.getName());      OutputStream is = new FileOutputStream(localFile);       ftp.retrieveFile(ff.getName(), is);      is.close();     }    }        ftp.logout();    success = true;   } catch (IOException e) {    e.printStackTrace();   } finally {    if (ftp.isConnected()) {     try {      ftp.disconnect();     } catch (IOException ioe) {     }    }   }   return success;  } 

以下是文件下載的測試用例:

 /**   * 將FTP服務器上文件下載到本地   *   */  public void testDownFile(){   try {    boolean flag = downFile("127.0.0.1", 21, "administrator", "zyuc2011", "test", "test.txt", "D:/");    System.out.println(flag);   } catch (Exception e) {    e.printStackTrace();   }    } 

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孝感市| 梁平县| 循化| 阜平县| 香格里拉县| 兰坪| 体育| 公安县| 莫力| 大冶市| 赣榆县| 黎城县| 衡山县| 休宁县| 红安县| 炎陵县| 岐山县| 德庆县| 方正县| 庆安县| 永吉县| 鄂尔多斯市| 宜章县| 清流县| 清水县| 辰溪县| 桦甸市| 临沭县| 凤翔县| 博客| 普陀区| 柳林县| 咸丰县| 会泽县| 平利县| 尼玛县| 皋兰县| 石景山区| 汽车| 锡林郭勒盟| 西青区|