和上一份簡單 上傳下載下傳一樣
來,任何的方法不懂的,http://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html
API拿走不謝!!!
1.FTP配置實體

View Code
2.FTP工具類,僅有一個删除檔案夾【目錄】的操作方法,删除檔案夾包括檔案夾下所有的檔案

删除方法中,調用listFiles()方法之前,需要調用ftpClient.enterLocalPassiveMode();
關于調用listFiles()方法,有以下幾種情況需要注意:
①listFiles()方法可能傳回為null,這個問題我也遇到了,這種原因是因為FTP伺服器的語言環境,編碼方式,時間戳等各種的沒有處理好或者與程式端并不一緻
②首先可以使用listNames()方法排除是否是路徑的原因,路徑編碼方式等原因
③其次,調整好路徑後,有如下提示的錯誤Caused by: java.lang.ClassNotFoundException: org.apache.oro.text.regex.MalformedPatternException,需要導入一個架包 【jakarta-oro-2.0.8.jar】
3.實際用到的FTP上傳【建立多層中文目錄】+下載下傳【浏覽器下載下傳OR伺服器下載下傳】+删除 【處理FTP編碼方式與本地編碼不一緻】

最後注意一點:
FTP伺服器不一樣,會引發很多的問題,因為FTP伺服器的語言環境,編碼方式,時間戳等各種的原因,導緻程式中需要進行大量的類似的處理,要跟FTP進行比對使用。
因為FTP架包是apache的,是以使用apache自己的FTP伺服器,是比對度最高的,傳入檔案路徑等都不需要考慮轉碼等各種各樣的問題!!!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------附錄------------------------------------------------------------------------------------
FTPFile[] ftpFiles = ftpClient.listFiles(new String((pathname).getBytes("UTF-8"),"iso-8859-1"));
方法的調用,報錯如下:

解決方法:
jakarta-oro-2.0.8.jar