JAVA
FTP
JAVA使用FTPClient下載FTP檔案
2018/12/25 12:22:22
0
8941
JAVA使用FTPClient下載FTP檔案
簡介 |
使用apache.common.net.ftp來連線FTP並下載或上傳檔案 |
作者 |
李宗霖 |
一、先行作業
二、實作
要使用FTPClient必須先導入apache的jar包
1.連結設定
addProtocolCommandListener可將過程中所使用到的命令顯示在console。
connect指令帶入FTP server的IP資料來連接FTP。
login指令帶入帳號密碼登入FTP。
getReplyCode取得回應碼。
isPositiveCompletion用來判斷回應碼是否成功與FTP連線
setFileType設定檔案的類型,共有四種可用(如圖中註解)
enterLocalActiveMode設定主動或被動模式:
主動模式:client主動向server要求
使用特定port來傳輸
被動模式:client
向server發出請求,再由server向
client
告知使用哪一個port
通常一般都是使
用被動模式
2.多檔下載
FileOutputStream用來輸出下載的檔案
changeWorkingDirectory可以用來移動到該目錄底下
changeWorkingDirectory可以用來移動到該目錄底下
changeToParentDirectory可以回到上一層目錄
listFiles用來取得該路徑下的所有檔案(若不傳參數則為當前目錄)
此處使用
listFiles加上迴圈來分別取得檔案名稱並下載
retrieveFile從FTP server下載檔案
deleteFile用來刪除FTP上面的檔案
retrieveFile從FTP server下載檔案
deleteFile用來刪除FTP上面的檔案
3.單檔上傳
使用FileInputStream來輸入檔案
storeFile將檔案上傳至FTP server
rename可以將檔案重新命名
storeFile將檔案上傳至FTP server
rename可以將檔案重新命名
4.FTPS
將FTPClient改為FTPSClient並修改一下參數,其餘部分並無太大差異,如下
須注意的是,FTPSClient目前不支援session resumption,故若要使用的話必須自己覆寫FTPSClient
FileZilla Server中,這項打勾FTPSClient便會因不支援而連線錯誤
三、總結
使用FTPClient/FTPSClient可以輕鬆的實現FTP下載與上傳功能,設定上也不會太繁瑣,基本該有的功能都能達成,是個相當不錯的元件。