亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java通過FTP服務器上傳下載文件的方法

2019-11-26 15:04:29
字體:
來源:轉載
供稿:網友

對于使用文件進行交換數據的應用來說,使用FTP 服務器是一個很不錯的解決方案。

關于FileZilla Server服務器的詳細搭建配置過程,詳情請見FileZilla Server安裝配置教程。之前有朋友說,上傳大文件(幾百M以上的文件)到FTP服務器時會重現無法重命名的問題,但本人親測上傳2G的文件到FileZilla Server都沒有該問題,朋友們可以放心使用該代碼。

FavFTPUtil.Java

package com.favccxx.favsoft.util; 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層使用)   * @param hostname FTP服務器地址   * @param port  FTP服務器端口號   * @param username  FTP登錄帳號   * @param password  FTP登錄密碼   * @param pathname  FTP服務器保存目錄   * @param fileName  上傳到FTP服務器后的文件名稱   * @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服務器      ftpClient.connect(hostname, port);      //登錄FTP服務器      ftpClient.login(username, password);      //是否成功登錄FTP服務器      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;  }        /**   * 上傳文件(可對文件進行重命名)   * @param hostname FTP服務器地址   * @param port  FTP服務器端口號   * @param username  FTP登錄帳號   * @param password  FTP登錄密碼   * @param pathname  FTP服務器保存目錄   * @param filename  上傳到FTP服務器后的文件名稱   * @param originfilename 待上傳文件的名稱(絕對地址)   * @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;  }     /**   * 上傳文件(不可以進行文件的重命名操作)   * @param hostname FTP服務器地址   * @param port  FTP服務器端口號   * @param username  FTP登錄帳號   * @param password  FTP登錄密碼   * @param pathname  FTP服務器保存目錄   * @param originfilename 待上傳文件的名稱(絕對地址)   * @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;  }        /**   * 刪除文件   * @param hostname FTP服務器地址   * @param port  FTP服務器端口號   * @param username  FTP登錄帳號   * @param password  FTP登錄密碼   * @param pathname  FTP服務器保存目錄   * @param filename  要刪除的文件名稱   * @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服務器      ftpClient.connect(hostname, port);      //登錄FTP服務器      ftpClient.login(username, password);      //驗證FTP服務器是否登錄成功      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服務器地址   * @param port  FTP服務器端口號   * @param username  FTP登錄帳號   * @param password  FTP登錄密碼   * @param pathname  FTP服務器文件目錄   * @param filename  文件名稱   * @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服務器      ftpClient.connect(hostname, port);      //登錄FTP服務器      ftpClient.login(username, password);      //驗證FTP服務器是否登錄成功      int replyCode = ftpClient.getReplyCode();      if(!FTPReply.isPositiveCompletion(replyCode)){        return flag;      }      //切換FTP目錄      ftpClient.changeWorkingDirectory(pathname);      FTPFile[] ftpFiles = ftpClient.listFiles();      for(FTPFile file : ftpFiles){        if(filename.equalsIgnoreCase(file.getName())){          File localFile = new File(localpath + "/" + file.getName());          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;  } }

FavFTPUtilTest.java

package com.favccxx.favsoft.util; import junit.framework.TestCase; public class FavFTPTest extends TestCase {     public void testFavFTPUtil(){    String hostname = "127.0.0.1";    int port = 21;    String username = "business";    String password = "business";    String pathname = "business/ebook";     String filename = "big.rar";     String originfilename = "C://Users//Downloads//Downloads.rar";    FavFTPUtil.uploadFileFromProduction(hostname, port, username, password, pathname, filename, originfilename);//   String localpath = "D:/";     //   FavFTPUtil.downloadFile(hostname, port, username, password, pathname, filename, localpath);  } }

以上是本文的全部內容,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品夜色国产国偷在线| 日韩av中文字幕在线| 精品欧美aⅴ在线网站| 久久视频精品在线| 亚洲欧美日韩区| 精品国模在线视频| 57pao国产成人免费| 亚洲综合精品一区二区| 国产精品久久久久久久av电影| 日本久久久a级免费| 91在线|亚洲| 亚洲福利在线播放| 国产精品美女999| 亚洲缚视频在线观看| 日韩av成人在线观看| 精品中文字幕乱| 欧美国产第二页| 成人网在线观看| 久久久久成人精品| 久久视频中文字幕| 在线观看日韩av| 久久久精品国产亚洲| 日韩免费观看视频| 精品无人区太爽高潮在线播放| 日韩成人高清在线| 91av免费观看91av精品在线| 欧美成人精品一区二区| 亚洲第一精品福利| 亚洲国产精品va在线看黑人| 成人天堂噜噜噜| 欧美高跟鞋交xxxxhd| 久久久久久亚洲| 欧美久久久精品| 欧美性一区二区三区| 91久久精品美女高潮| 欲色天天网综合久久| 中文字幕成人在线| 欧美精品九九久久| 国产精品欧美激情在线播放| 亚洲一区久久久| 亚洲**2019国产| 成人在线视频福利| 国产美女主播一区| 欧美高清在线视频观看不卡| 在线观看不卡av| 亚洲伊人久久大香线蕉av| 色偷偷av亚洲男人的天堂| 精品色蜜蜜精品视频在线观看| 久久99青青精品免费观看| 欧美激情视频在线免费观看 欧美视频免费一| 成人网欧美在线视频| 欧美性视频在线| 欧美激情亚洲激情| 亚洲国产精品成人va在线观看| 成人伊人精品色xxxx视频| 亚洲电影免费观看高清| 久久免费在线观看| 欧美电影在线免费观看网站| 高清一区二区三区日本久| 91久久在线观看| 俺去亚洲欧洲欧美日韩| 欧美一级淫片丝袜脚交| 日韩极品精品视频免费观看| 庆余年2免费日韩剧观看大牛| 日韩精品在线第一页| 欧美精品在线看| 国产精品视频26uuu| 成人国内精品久久久久一区| 国产午夜精品美女视频明星a级| 久久综合久久美利坚合众国| 97在线免费观看视频| 日韩欧美精品在线观看| 亚洲无亚洲人成网站77777| 一本色道久久88综合亚洲精品ⅰ| 国产精品扒开腿做爽爽爽男男| 欧美成人午夜剧场免费观看| 这里只有精品视频在线| 国产aⅴ夜夜欢一区二区三区| 日韩在线中文字幕| 国产欧美一区二区三区在线| 91精品国产高清| 久久久爽爽爽美女图片| 国产一区二区三区三区在线观看| 97在线精品国自产拍中文| 亚洲人a成www在线影院| 日韩av黄色在线观看| 欧美精品18videos性欧| 亚洲成人久久久久| 亚洲精品wwww| 日韩中文字幕亚洲| 国产成人亚洲综合91| 国产成人精品免费久久久久| www.亚洲免费视频| 亚洲国产日韩欧美在线动漫| 成人黄色片网站| 精品视频久久久| 国产69精品久久久久9999| 亚洲精品98久久久久久中文字幕| 欧美视频一区二区三区…| 欧美大片免费观看在线观看网站推荐| 欧美日韩国产限制| 亚洲一级一级97网| 日产日韩在线亚洲欧美| 国产精品免费网站| 欧美—级a级欧美特级ar全黄| 国产精品大陆在线观看| 久久久久在线观看| 国产欧美va欧美va香蕉在线| 岛国av一区二区三区| 欧美精品性视频| 国产精品香蕉av| 国产精品男女猛烈高潮激情| 亚洲xxx视频| 这里只有精品在线播放| 日韩天堂在线视频| 亚洲qvod图片区电影| 亚洲激情 国产| 日韩激情视频在线播放| 日韩在线观看网站| 3344国产精品免费看| 日韩精品免费在线视频观看| 色妞在线综合亚洲欧美| 精品呦交小u女在线| 日韩成人高清在线| 日本国产欧美一区二区三区| 国产精品久久久精品| 国产欧美日韩免费看aⅴ视频| 亚洲国产精品999| 亚洲视频在线观看网站| 亚洲三级av在线| 国内精品400部情侣激情| 国产精品嫩草视频| 欧美日韩午夜视频在线观看| 欧美性猛交xxxx免费看| 亚洲人高潮女人毛茸茸| 国产亚洲日本欧美韩国| 亚洲欧美一区二区三区情侣bbw| 亚洲免费av网址| 久久亚洲精品小早川怜子66| 揄拍成人国产精品视频| 国产成人激情小视频| 欧美极品少妇xxxxx| 亚洲精品理论电影| 国语自产精品视频在线看一大j8| 亚洲国产精品久久| 亚洲无av在线中文字幕| 国产欧美精品一区二区三区-老狼| 久久在线观看视频| 中文字幕av日韩| 日韩精品中文字幕久久臀| 国产香蕉一区二区三区在线视频| 亚洲成人免费在线视频| 九九精品在线播放| 一本一本久久a久久精品牛牛影视| 4438全国亚洲精品在线观看视频| 国产精品久久久久影院日本| 国产精品91免费在线| 国产欧美日韩丝袜精品一区| 国产区亚洲区欧美区| 国内精品国产三级国产在线专| 亚洲精品视频网上网址在线观看| 久久精品电影网| 播播国产欧美激情| 欧美三级欧美成人高清www|