Jsch类连接sftp
前言
Jsch连接sftp。
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用步骤
1.依赖引入
代码如下(示例):
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.53</version>
</dependency>
2.与服务器进行连接
代码如下(示例):
JSch jsch = new JSch();
//获取session对象
Session session = jsch.getSession("root", "127.0.0.1", 22);//依次输入的参数为username , host ,prot
session.setPassword("123456");//password
session.setTimeout(100000);//连接超时时间
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
// 通过Session建立链接
// 打开SFTP通道
Channel channel= session.openChannel("sftp");
channel.connect();
ChannelSftp sftp = (ChannelSftp)channel;
3.读取服务器内容
代码如下(示例):
//读取指定路径下的所有的文件
//注意,每个路径下都会获取到名字为“.” ".."的两个文件夹
Vector vector = sftp.ls("/data/ygc/");
for (Object object :vector) {
ChannelSftp.LsEntry entry = (ChannelSftp.LsEntry) object;
String folderName = entry.getFilename();
System.out.println(folderName);
//判断是否是文件夹
SftpATTRS attrs = entry.getAttrs();
boolean isDir = attrs.isDir();
System.out.println(isDir);
}
4.关闭连接
代码如下(示例):
//关闭连接
sftp.quit();
channel.disconnect();
session.disconnect();