以下为个人使用过程中的心得经验
- 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()进入文件夹。