java连接sftp服务器 (随笔)

网上有很多成型的例子,在这里提供几个不错的连接

 

网sftp服务器上传文件 需借助jsch.jar包  

JSch 实现了三种传输模式

1,完全覆盖模式

2,恢复模式,(类似于断点上传)因外部原因导致文件上传中断,下次上传时会接着上次的继续上传

3,追加模式,若发现文件已经存在,则在目标文化后追加。

ChannelSftp类是JSch实现sftp核心类,实现了很多方法。

put():      文件上传

get():      文件下载

cd():       进入指定目录

ls():       得到指定目录下的文件列表

rename():   重命名指定文件或目录

rm():       删除指定文件

mkdir():    创建目录

rmdir():    删除目录

put方法把文件放在服务器上,put ,get方法都有多个重载方法。请认真阅读源代码。

 



JSch是Java Secure Channel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序


SFTP是Secure File TransferProtocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式。SFTP是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。


详细讲解sftp文件上传

http://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html

JAVA实现SFTP的实例

http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888384.html

 

在开发过程中,遇到连接错误的异常。

com.jcraft.jsch.JSchException:Session.connect: java.io.IOException:

代码执行到     sshSession.connect();程序报错,在网上搜了大半天未果。后来请教一个朋友,换了一个jar包,问题得到解决。当问题出现的时候,我们总是局限在一个小小的问题上,而不会跳出这个圈,全局的考虑,这样往往浪费很多时间。^_^ 他说了一句话,对我启发很大,工作开不开心和能力无关。吼吼~~



20170622添加:

这篇blog是13年写的,目前本人已经不在从事开发工作,

但是依然有很多小伙伴留言和私信咨询替换哪个jar解决了问题,下面结合@春画秋事 小伙伴的测试,将jar包以及版本给大家 补充一下,

可以百度搜索jsch-0.1.54.jar,替换该版本的jar包,问题解决。

你可能感兴趣的:(java)