以下為個人使用過程中的心得經驗
- ChannelSftp是Java連接sftp服務器並進行相關操作的核心類,有許多api方法可以使用,以下就本人相關代碼進行說明。
-
外部調用該工具類時,首先需要傳入連接的sftp服務器相關參數。sftp服務器的搭建可看此處https://www.cnblogs.com/BraveSong/p/15624671.html
host為服務器地址ip,port為端口,userName為登錄名,pwd為登陸密碼。創建FTPUtil后使用login登錄連接至服務器。
連接之后,主要就upload()和delOvertime()中用的api進行相關說明。
以下所有方法使用中都需要注意的一點為,你連接sftp服務器的用戶,登陸后默認所在的目錄該用戶是否有權限進行增刪改查相關操作,以及該用戶的根目錄在何處,也會影響api的使用。
以sftpuser該用戶為例,登陸后
而使用root登錄服務器可以發現該用戶的根目錄其實是在data下
那么此時進行api操作的使用需要注意用絕對路徑和相對路徑,若用戶沒有相關權限,則會報no such file或deny拒絕這類的錯誤
sftp.ls()為展示連接用戶目錄下的所有文件。
sftp.rmdir()刪除文件夾,若該文件夾中有文件是無法刪除的,需要先進入其中將文件全部刪掉,可以遞歸。
sftp.mkdir()創建文件夾。
sftp.cd()進入文件夾。