最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java FTP上傳下載刪除功能實(shí)例代碼

 更新時(shí)間:2017年03月10日 15:43:13   作者:qq_25506739  
這篇文章主要介紹了Java FTP上傳下載刪除功能實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

在沒(méi)給大家上完整代碼之前先給大家說(shuō)下注意點(diǎn):

 FTP上傳下載,容易出現(xiàn)亂碼,記得轉(zhuǎn)換

package com.yinhai.team.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
public class FavFTPUtil {
   /**
    * 上傳文件(可供Action/Controller層使用)未測(cè)試
    * @param hostname FTP服務(wù)器地址 
    * @param port FTP服務(wù)器端口號(hào)
    * @param username FTP登錄帳號(hào)
    * @param password FTP登錄密碼
    * @param pathname FTP服務(wù)器保存目錄
    * @param fileName 上傳到FTP服務(wù)器后的文件名稱(chēng)
    * @param inputStream 輸入文件流
    * @return
    */
   public static boolean uploadFile(String hostname, int port, String username, String password, String pathname, String fileName, InputStream inputStream){
    boolean flag = false;
    FTPClient ftpClient = new FTPClient();
    ftpClient.setControlEncoding("UTF-8");
    try {
     //連接FTP服務(wù)器
     ftpClient.connect(hostname, port);
     //登錄FTP服務(wù)器
     ftpClient.login(username, password);
     //是否成功登錄FTP服務(wù)器
     int replyCode = ftpClient.getReplyCode();
     if(!FTPReply.isPositiveCompletion(replyCode)){
      return flag;
     }
     ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
     ftpClient.makeDirectory(pathname);
     ftpClient.changeWorkingDirectory(pathname);
     ftpClient.storeFile(fileName, inputStream);
     inputStream.close();
     ftpClient.logout();
     flag = true;
    } catch (Exception e) {
     e.printStackTrace();
    } finally{
     if(ftpClient.isConnected()){
      try {
       ftpClient.disconnect();
      } catch (IOException e) {
       e.printStackTrace();
      }
     }
    }
    return flag;
   }
   /**
    * 上傳文件(可對(duì)文件進(jìn)行重命名)未測(cè)試
    * @param hostname FTP服務(wù)器地址
    * @param port FTP服務(wù)器端口號(hào)
    * @param username FTP登錄帳號(hào)
    * @param password FTP登錄密碼
    * @param pathname FTP服務(wù)器保存目錄
    * @param filename 上傳到FTP服務(wù)器后的文件名稱(chēng)
    * @param originfilename 待上傳文件的名稱(chēng)(絕對(duì)地址)
    * @return
    */
   public static boolean uploadFileFromProduction(String hostname, int port, String username, String password, String pathname, String filename, String originfilename){
    boolean flag = false;
    try {
     InputStream inputStream = new FileInputStream(new File(originfilename));
     flag = uploadFile(hostname, port, username, password, pathname, filename, inputStream);
    } catch (Exception e) {
     e.printStackTrace();
    }
    return flag;
   }
   /**
    * 上傳文件(不可以進(jìn)行文件的重命名操作) 未測(cè)試
    * @param hostname FTP服務(wù)器地址
    * @param port FTP服務(wù)器端口號(hào)
    * @param username FTP登錄帳號(hào)
    * @param password FTP登錄密碼
    * @param pathname FTP服務(wù)器保存目錄
    * @param originfilename 待上傳文件的名稱(chēng)(絕對(duì)地址)
    * @return
    */
   public static boolean uploadFileFromProduction(String hostname, int port, String username, String password, String pathname, String originfilename){
    boolean flag = false;
    try {
     String fileName = new File(originfilename).getName();
     InputStream inputStream = new FileInputStream(new File(originfilename));
     flag = uploadFile(hostname, port, username, password, pathname, fileName, inputStream);
    } catch (Exception e) {
     e.printStackTrace();
    }
    return flag;
   }
   /** 
    * 刪除文件 未測(cè)試
    * @param hostname FTP服務(wù)器地址
    * @param port FTP服務(wù)器端口號(hào)
    * @param username FTP登錄帳號(hào)
    * @param password FTP登錄密碼
    * @param pathname FTP服務(wù)器保存目錄
    * @param filename 要?jiǎng)h除的文件名稱(chēng)
    * @return
    */
   public static boolean deleteFile(String hostname, int port, String username, String password, String pathname, String filename){
    boolean flag = false;
    FTPClient ftpClient = new FTPClient();
    try {
     //連接FTP服務(wù)器
     ftpClient.connect(hostname, port);
     //登錄FTP服務(wù)器
     ftpClient.login(username, password);
     //驗(yàn)證FTP服務(wù)器是否登錄成功
     int replyCode = ftpClient.getReplyCode();
     if(!FTPReply.isPositiveCompletion(replyCode)){
      return flag;
     }
     //切換FTP目錄
     ftpClient.changeWorkingDirectory(pathname);
     ftpClient.dele(filename);
     ftpClient.logout();
     flag = true;
    } catch (Exception e) {
     e.printStackTrace();
    } finally{
     if(ftpClient.isConnected()){
      try {
       ftpClient.logout();
      } catch (IOException e) {
      }
     }
    }
    return flag;
   }
   /**
    * 下載文件 
    * @param hostname FTP服務(wù)器地址
    * @param port FTP服務(wù)器端口號(hào)
    * @param username FTP登錄帳號(hào)
    * @param password FTP登錄密碼
    * @param pathname FTP服務(wù)器文件目錄
    * @param filename 文件名稱(chēng)
    * @param localpath 下載后的文件路徑
    * @return
    */
  public static boolean downloadFile(String hostname, int port, String username, String password, String pathname, String filename, String localpath){
    boolean flag = false;
    FTPClient ftpClient = new FTPClient();
    try {
     //連接FTP服務(wù)器
     ftpClient.connect(hostname, port);
     //登錄FTP服務(wù)器
     ftpClient.login(username, password);
     //驗(yàn)證FTP服務(wù)器是否登錄成功
     int replyCode = ftpClient.getReplyCode();
     if(!FTPReply.isPositiveCompletion(replyCode)){
      return flag;
     }
     //切換FTP目錄
     boolean b = ftpClient.changeWorkingDirectory(new String(pathname.getBytes(),"ISO-8859-1"));
     System.out.println(b);
     FTPFile[] ftpFiles = ftpClient.listFiles();
     for(FTPFile file : ftpFiles){
       String fName = new String(file.getName().getBytes("iso-8859-1"), "UTF-8");
       System.out.println(fName);
      if(filename.equalsIgnoreCase(fName)){
       File localFile = new File(localpath + "/" + fName);
       OutputStream os = new FileOutputStream(localFile);
       ftpClient.retrieveFile(file.getName(), os);
       os.close();
      }
     }
     ftpClient.logout();
     flag = true;
    } catch (Exception e) {
     e.printStackTrace();
    } finally{
     if(ftpClient.isConnected()){
      try {
       ftpClient.logout();
      } catch (IOException e) {
      }
     }
    }
    return flag;
   }
}

以上所述是小編給大家介紹的Java FTP上傳下載刪除功能實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • mybatis-plus 批量插入示例代碼

    mybatis-plus 批量插入示例代碼

    正常我們使用mybatis-plus插入的時(shí)候,首先想到的是saveBatch方法,不過(guò)看了下打印出來(lái)的sql和底層代碼,才發(fā)現(xiàn)它并不是真正的批量插入這篇文章主要介紹了mybatis-plus 批量插入示例,需要的朋友可以參考下
    2023-07-07
  • SpringBoot的監(jiān)控及使用詳解

    SpringBoot的監(jiān)控及使用詳解

    這篇文章主要介紹了SpringBoot的監(jiān)控及使用詳解,Spring Boot提供了一系列的監(jiān)控功能,方便開(kāi)發(fā)人員對(duì)應(yīng)用程序進(jìn)行監(jiān)控和管理,本文將討論 Spring Boot中的監(jiān)控功能及其使用方法,需要的朋友可以參考下
    2023-07-07
  • MybatisPlus開(kāi)啟、關(guān)閉二級(jí)緩存方法

    MybatisPlus開(kāi)啟、關(guān)閉二級(jí)緩存方法

    本文主要介紹了MybatisPlus開(kāi)啟、關(guān)閉二級(jí)緩存方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 詳解如何解決SSM框架前臺(tái)傳參數(shù)到后臺(tái)亂碼的問(wèn)題

    詳解如何解決SSM框架前臺(tái)傳參數(shù)到后臺(tái)亂碼的問(wèn)題

    這篇文章主要介紹了詳解如何解決SSM框架前臺(tái)傳參數(shù)到后臺(tái)亂碼的問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • SpringBoot給類(lèi)進(jìn)行賦初值的四種方式

    SpringBoot給類(lèi)進(jìn)行賦初值的四種方式

    這篇文章主要介紹了springboot給類(lèi)進(jìn)行賦初值的四種方式,并通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • Java編程線程同步工具Exchanger的使用實(shí)例解析

    Java編程線程同步工具Exchanger的使用實(shí)例解析

    這篇文章主要介紹了Java編程線程同步工具Exchanger的使用實(shí)例解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 深入SQLite多線程的使用總結(jié)詳解

    深入SQLite多線程的使用總結(jié)詳解

    本篇文章是對(duì)SQLite多線程的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • java算法入門(mén)之有效的括號(hào)刪除有序數(shù)組中的重復(fù)項(xiàng)實(shí)現(xiàn)strStr

    java算法入門(mén)之有效的括號(hào)刪除有序數(shù)組中的重復(fù)項(xiàng)實(shí)現(xiàn)strStr

    大家好,我是哪吒,一個(gè)熱愛(ài)編碼的Java工程師,本著"欲速則不達(dá),欲達(dá)則欲速"的學(xué)習(xí)態(tài)度,在程序猿這條不歸路上不斷成長(zhǎng),所謂成長(zhǎng),不過(guò)是用時(shí)間慢慢擦亮你的眼睛,少時(shí)看重的,年長(zhǎng)后卻視若鴻毛,少時(shí)看輕的,年長(zhǎng)后卻視若泰山,成長(zhǎng)之路,亦是漸漸放下執(zhí)念,內(nèi)心歸于平靜的旅程
    2021-08-08
  • 原生Java操作mysql數(shù)據(jù)庫(kù)過(guò)程解析

    原生Java操作mysql數(shù)據(jù)庫(kù)過(guò)程解析

    這篇文章主要介紹了原生Java操作mysql數(shù)據(jù)庫(kù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java編程異常處理最佳實(shí)踐【推薦】

    Java編程異常處理最佳實(shí)踐【推薦】

    這篇文章主要介紹了Java編程異常處理最佳實(shí)踐【推薦】,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10

最新評(píng)論

丰县| 揭阳市| 永昌县| 威信县| 泰安市| 鄂温| 汶上县| 南乐县| 亳州市| 乃东县| 定结县| 漠河县| 绍兴县| 彰武县| 抚顺县| 旬阳县| 宁陵县| 通许县| 申扎县| 新泰市| 旅游| 新巴尔虎右旗| 霸州市| 历史| 治县。| 邮箱| 永年县| 壤塘县| 大连市| 女性| 广饶县| 曲周县| 青铜峡市| 牙克石市| 湖南省| 东源县| 兴和县| 元朗区| 东安县| 舒兰市| 六枝特区|