【SFTP读取文件】

第一步 :获取Jsch对象 ,该对象是一个通道,利用它可以进行数据交互;

JSch jsch = new JSch();

第二步: 从JSch中拿到session , 并进行验证 ;

 session = jsch.getSession(username, host, port);  //获取session对象
//参数分别为sftp的用户名、主机地址、端口号
 session.setPassword(password);   //验证密码
Properties config = new 
config.put("StrictHostKeyChecking", "no");  
 //第一次登陆是否提示 可选参数:yes|no|ask               
session.setConfig(config);  
session.connect();  
Channel channel = session.openChannel("sftp"); //设置通道连接模式 
channel.connect(); 
sftp = (ChannelSftp) channel; //获取对象

第三步:以流的形式获取文件内容

String directory = "文件路径";
String downloadFile = "文件名.txt";
if (directory != null && !"".equals(directory)) {  
            sftp.cd(directory);//进入所在路径  
    }  
InputStream is = sftp.get(downloadFile);  
return is;//返回流

最后:记得关闭连接

if (sftp != null) {  
            if (sftp.isConnected()) {  
                sftp.disconnect();  //若sftp正在连接,则断开
            }  
        }  
        if (session != null) {  
            if (session.isConnected()) {  
                session.disconnect();  //若session正在连接,则断开

            }  
        }  

 

发布了6 篇原创文章 · 获赞 1 · 访问量 2099
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览