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

首頁 > 開發 > Java > 正文

Java利用apache ftp工具實現文件上傳下載和刪除功能

2024-07-14 08:41:12
字體:
來源:轉載
供稿:網友

利用apache ftp工具實現文件的上傳下載和刪除,具體如下

1、下載相應的jar包

     commons-net-1.4.1.jar

2、實現代碼如下:

public class FtpUtils {     //ftp服務器地址     public String hostname = "192.168.1.249";     //ftp服務器端口號默認為21     public Integer port = 21 ;     //ftp登錄賬號     public String username = "root";     //ftp登錄密碼     public String password = "123";          public FTPClient ftpClient = null;          /**      * 初始化ftp服務器      */     public void initFtpClient() {       ftpClient = new FTPClient();       ftpClient.setControlEncoding("utf-8");       try {         System.out.println("connecting...ftp服務器:"+this.hostname+":"+this.port);          ftpClient.connect(hostname, port); //連接ftp服務器         ftpClient.login(username, password); //登錄ftp服務器         int replyCode = ftpClient.getReplyCode(); //是否成功登錄服務器         if(!FTPReply.isPositiveCompletion(replyCode)){           System.out.println("connect failed...ftp服務器:"+this.hostname+":"+this.port);          }         System.out.println("connect successfu...ftp服務器:"+this.hostname+":"+this.port);        }catch (MalformedURLException e) {          e.printStackTrace();        }catch (IOException e) {          e.printStackTrace();        }      }      /**     * 上傳文件     * @param pathname ftp服務保存地址     * @param fileName 上傳到ftp的文件名     * @param originfilename 待上傳文件的名稱(絕對地址) *     * @return     */     public boolean uploadFile( String pathname, String fileName,String originfilename){       boolean flag = false;       InputStream inputStream = null;       try{         System.out.println("開始上傳文件");         inputStream = new FileInputStream(new File(originfilename));         initFtpClient();         ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);         CreateDirecroty(pathname);         ftpClient.makeDirectory(pathname);         ftpClient.changeWorkingDirectory(pathname);         ftpClient.storeFile(fileName, inputStream);         inputStream.close();         ftpClient.logout();         flag = true;         System.out.println("上傳文件成功");       }catch (Exception e) {         System.out.println("上傳文件失敗");         e.printStackTrace();       }finally{         if(ftpClient.isConnected()){            try{             ftpClient.disconnect();           }catch(IOException e){             e.printStackTrace();           }         }          if(null != inputStream){           try {             inputStream.close();           } catch (IOException e) {             e.printStackTrace();           }          }        }       return true;     }     /**      * 上傳文件      * @param pathname ftp服務保存地址      * @param fileName 上傳到ftp的文件名      * @param inputStream 輸入文件流      * @return      */     public boolean uploadFile( String pathname, String fileName,InputStream inputStream){       boolean flag = false;       try{         System.out.println("開始上傳文件");         initFtpClient();         ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);         CreateDirecroty(pathname);         ftpClient.makeDirectory(pathname);         ftpClient.changeWorkingDirectory(pathname);         ftpClient.storeFile(fileName, inputStream);         inputStream.close();         ftpClient.logout();         flag = true;         System.out.println("上傳文件成功");       }catch (Exception e) {         System.out.println("上傳文件失敗");         e.printStackTrace();       }finally{         if(ftpClient.isConnected()){            try{             ftpClient.disconnect();           }catch(IOException e){             e.printStackTrace();           }         }          if(null != inputStream){           try {             inputStream.close();           } catch (IOException e) {             e.printStackTrace();           }          }        }       return true;     }     //改變目錄路徑      public boolean changeWorkingDirectory(String directory) {         boolean flag = true;         try {           flag = ftpClient.changeWorkingDirectory(directory);           if (flag) {            System.out.println("進入文件夾" + directory + " 成功!");            } else {             System.out.println("進入文件夾" + directory + " 失??!開始創建文件夾");           }         } catch (IOException ioe) {           ioe.printStackTrace();         }         return flag;       }      //創建多層目錄文件,如果有ftp服務器已存在該文件,則不創建,如果無,則創建     public boolean CreateDirecroty(String remote) throws IOException {       boolean success = true;       String directory = remote + "/";       // 如果遠程目錄不存在,則遞歸創建遠程服務器目錄       if (!directory.equalsIgnoreCase("/") && !changeWorkingDirectory(new String(directory))) {         int start = 0;         int end = 0;         if (directory.startsWith("/")) {           start = 1;         } else {           start = 0;         }         end = directory.indexOf("/", start);         String path = "";         String paths = "";         while (true) {           String subDirectory = new String(remote.substring(start, end).getBytes("GBK"), "iso-8859-1");           path = path + "/" + subDirectory;           if (!existFile(path)) {             if (makeDirectory(subDirectory)) {               changeWorkingDirectory(subDirectory);             } else {               System.out.println("創建目錄[" + subDirectory + "]失敗");               changeWorkingDirectory(subDirectory);             }           } else {             changeWorkingDirectory(subDirectory);           }            paths = paths + "/" + subDirectory;           start = end + 1;           end = directory.indexOf("/", start);           // 檢查所有目錄是否創建完畢           if (end <= start) {             break;           }         }       }       return success;     }     //判斷ftp服務器文件是否存在       public boolean existFile(String path) throws IOException {         boolean flag = false;         FTPFile[] ftpFileArr = ftpClient.listFiles(path);         if (ftpFileArr.length > 0) {           flag = true;         }         return flag;       }     //創建目錄     public boolean makeDirectory(String dir) {       boolean flag = true;       try {         flag = ftpClient.makeDirectory(dir);         if (flag) {           System.out.println("創建文件夾" + dir + " 成功!");          } else {           System.out.println("創建文件夾" + dir + " 失敗!");         }       } catch (Exception e) {         e.printStackTrace();       }       return flag;     }          /** * 下載文件 *     * @param pathname FTP服務器文件目錄 *     * @param filename 文件名稱 *     * @param localpath 下載后的文件路徑 *     * @return */     public boolean downloadFile(String pathname, String filename, String localpath){        boolean flag = false;        OutputStream os=null;       try {          System.out.println("開始下載文件");         initFtpClient();         //切換FTP目錄          ftpClient.changeWorkingDirectory(pathname);          FTPFile[] ftpFiles = ftpClient.listFiles();          for(FTPFile file : ftpFiles){            if(filename.equalsIgnoreCase(file.getName())){              File localFile = new File(localpath + "/" + file.getName());              os = new FileOutputStream(localFile);              ftpClient.retrieveFile(file.getName(), os);              os.close();            }          }          ftpClient.logout();          flag = true;          System.out.println("下載文件成功");       } catch (Exception e) {          System.out.println("下載文件失敗");         e.printStackTrace();        } finally{          if(ftpClient.isConnected()){            try{             ftpClient.disconnect();           }catch(IOException e){             e.printStackTrace();           }         }          if(null != os){           try {             os.close();           } catch (IOException e) {             e.printStackTrace();           }          }        }        return flag;      }          /** * 刪除文件 *     * @param pathname FTP服務器保存目錄 *     * @param filename 要刪除的文件名稱 *     * @return */      public boolean deleteFile(String pathname, String filename){        boolean flag = false;        try {          System.out.println("開始刪除文件");         initFtpClient();         //切換FTP目錄          ftpClient.changeWorkingDirectory(pathname);          ftpClient.dele(filename);          ftpClient.logout();         flag = true;          System.out.println("刪除文件成功");       } catch (Exception e) {          System.out.println("刪除文件失敗");         e.printStackTrace();        } finally {         if(ftpClient.isConnected()){            try{             ftpClient.disconnect();           }catch(IOException e){             e.printStackTrace();           }         }        }       return flag;      }          public static void main(String[] args) {       FtpUtils ftp =new FtpUtils();        //ftp.uploadFile("ftpFile/data", "123.docx", "E://123.docx");       //ftp.downloadFile("ftpFile/data", "123.docx", "F://");       ftp.deleteFile("ftpFile/data", "123.docx");       System.out.println("ok");     } } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
美女视频久久黄| 亚洲欧美一区二区三区在线| 在线观看欧美日韩国产| 日韩高清电影好看的电视剧电影| 尤物九九久久国产精品的分类| 一区二区三区天堂av| 97福利一区二区| 色婷婷综合久久久久| 奇米4444一区二区三区| 国产免费一区二区三区在线观看| 国产一区二区免费| 国产日韩亚洲欧美| 综合av色偷偷网| 91sao在线观看国产| 2019最新中文字幕| 日韩中文字幕免费| 欧美成人免费网| 57pao国产精品一区| 国产成人精品午夜| 91精品国产综合久久男男| 91精品久久久久久| 中日韩午夜理伦电影免费| 久久久亚洲国产天美传媒修理工| 日日摸夜夜添一区| 亚洲成人a**站| 国产精品福利片| 国产99久久精品一区二区永久免费| 亚洲xxxxx| 久久久中精品2020中文| 中文字幕国内精品| 亚洲精品国产精品国自产在线| 亚洲性日韩精品一区二区| 555www成人网| 欧美大尺度在线观看| 亚洲sss综合天堂久久| 国产香蕉精品视频一区二区三区| 国产成人精品久久二区二区91| 亚洲欧美精品伊人久久| 久久久久久久久中文字幕| 欧美激情乱人伦| 亚洲国产精品成人av| 欧美性xxxxx| 亚洲欧洲xxxx| 国产一区二区日韩精品欧美精品| 国产精欧美一区二区三区| 欧美日韩一区二区三区| 国产精品永久免费| 亚洲男人天天操| 亚洲最大的成人网| 成人网页在线免费观看| 欧美电影免费观看大全| 亚洲成人aaa| 成人免费视频97| 综合av色偷偷网| 亚洲人永久免费| 日韩av影视在线| 91精品久久久久久久久中文字幕| 国产成人精品日本亚洲专区61| 欧美日韩一区二区免费视频| 91人人爽人人爽人人精88v| 日韩精品久久久久久福利| 国产精品久久久久久搜索| 成年人精品视频| 日韩中文字幕在线免费观看| 成人网在线免费观看| 欧美大秀在线观看| 精品视频在线播放色网色视频| 国产精品第七十二页| 成人中文字幕在线观看| 欧美疯狂做受xxxx高潮| 亚洲精品网站在线播放gif| 欧美午夜精品久久久久久久| 国产精品视频免费在线| 国产精品99久久久久久人| 精品美女久久久久久免费| 欧美黄色小视频| 国产亚洲精品久久久| 国产成人精品免高潮在线观看| 日韩中文字幕在线播放| 国产精品久久久久久久久久久久久久| 亚洲成人中文字幕| 久久久精品影院| 久久精品电影网| 亚洲跨种族黑人xxx| 成人羞羞国产免费| 成人在线观看视频网站| 精品亚洲精品福利线在观看| 亚洲a在线观看| 国产精品男人的天堂| 欧美最猛黑人xxxx黑人猛叫黄| 日韩免费在线看| 92国产精品视频| wwwwwwww亚洲| 97精品视频在线观看| 性欧美xxxx视频在线观看| 最近2019中文字幕在线高清| 日韩hd视频在线观看| 日韩欧美在线国产| 欧美激情伊人电影| 自拍偷拍亚洲欧美| 欧美在线视频一二三| 2018中文字幕一区二区三区| 午夜精品一区二区三区视频免费看| 欧美性高潮床叫视频| 久久免费在线观看| 欧美—级a级欧美特级ar全黄| 欧美多人乱p欧美4p久久| 91在线播放国产| 欧美人与性动交| 久久综合久中文字幕青草| 欧美精品久久久久久久| 国产欧美精品一区二区三区-老狼| 国产日韩精品视频| 日韩欧美a级成人黄色| 国产精品91在线| 97**国产露脸精品国产| 国产精品久久久久久久久久久久久久| 91久久精品在线| 日韩精品在线视频美女| 日本久久亚洲电影| 91精品视频播放| 久久天天躁狠狠躁夜夜躁2014| 欧美中文字幕视频| 国产精品久久久久久一区二区| 欧美中在线观看| 精品综合久久久久久97| 成人免费午夜电影| 96pao国产成视频永久免费| 日韩欧美亚洲范冰冰与中字| 欧美亚洲视频一区二区| 亚洲日韩中文字幕| 亚洲男人天堂网| 懂色av中文一区二区三区天美| 亚洲国产精品va在线观看黑人| 亚洲a一级视频| 国产成人精品久久久| 亚洲最大福利视频网站| 亚洲女人天堂av| 久久久精品2019中文字幕神马| 国产精品美女主播在线观看纯欲| 精品国产一区av| 国产欧美在线观看| 成人性生交大片免费看视频直播| 欧美国产精品va在线观看| 亚洲视频在线视频| 欧美日韩亚洲网| 国产一区二区丝袜| 亚洲国产精品中文| 国产欧美日韩丝袜精品一区| 欧美国产激情18| 久久69精品久久久久久国产越南| 超碰97人人做人人爱少妇| 日本精品久久电影| 久久的精品视频| 欧美黄色片视频| 草民午夜欧美限制a级福利片| 韩国美女主播一区| 欧美与欧洲交xxxx免费观看| 91精品国产成人www| 国产欧美一区二区白浆黑人| 色樱桃影院亚洲精品影院| 欧美极品在线播放| 最近2019中文字幕在线高清| 国产91ⅴ在线精品免费观看|