SFTP是Secure File TransferProtocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式。SFTP使用加密传输认证信息和数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。
JSch是Java Secure Channel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序。
sftp服务器上传文件需借助jsch.jar包 。
JSch 实现了三种传输模式:
1.完全覆盖模式
2.恢复模式,(类似于断点上传)因外部原因导致文件上传中断,下次上传时会接着上次继续上传。
3.追加模式,若发现文件已经存在,则在目标文件后追加。
ChannelSftp类是JSch实现sftp核心类,实现了很多方法。
put(): 文件上传
get(): 文件下载
cd(): 进入指定目录
ls(): 得到指定目录下的文件列表
rename(): 重命名指定文件或目录
rm(): 删除指定文件
mkdir(): 创建目录
rmdir(): 删除目录