jsch连接sftp,jsch sftp

  jsch连接sftp,jsch sftp

  

目录

Jsch是什么?怎么使用?添加冲突依赖

 

  

Jsch是什么?

JSch是SSH2的一个纯爪哇实现。它允许你连接到一个混合硬盘服务器,使用端口转发,X11转发,文件传输等等。你可以将它的功能集成到你自己的程序中。同时该项目也提供一个J2ME版本用来在手机上直连混合硬盘服务器

 

  Jsch功能很强大,博主这里主要用来做文件操作

  

怎么使用?

 

  

添加jar依赖

相关性groupIdcom.jcraft/groupId工艺Id jsch/工艺id版本0 .1 .53/版本/相关性我把我的SftpUtil贴下面了,注释还算清楚

 

  /** *内容:sftp协议文件上传下载*由千升于2016/5/6创建。*/公共类SftpUtil { /** *上传文件到指定服务器* @param ip连接ip * @param用户用户名* @param psw密码* @param端口端口=0 为默认端口* @param fielPath上传的服务器路径* @param服务器文件名服务器保存的文件名* @param instream要上传的文件流* @ throws Exception */public static void sftpfile upload(String IP,int port,String user,String psw,String fielPath,String serverFileName,InputStream instream)抛出异常{ Session session=getSession(ip,user,psw,port);通道通道=空尝试{ //创建为人民服务的科学为人类服务的科学通信通道Channel=(Channel)会话。开放通道(“sftp”);渠道。连接(1000);通道FTP sftp=(通道FTP)通道;//进入服务器指定的文件夹sftp。CD(fielPath);输出流outstream=sftp。put(服务器文件名);字节b[]=新字节[1024 * 200];//每次传输200k int n;while ((n=instream.read(b))!=-1) { outstream.write(b,0,n);}外流。flush();逆流而上。close();流内。close();} catch(Exception e){ e . printstacktrace();}最后{会话。disconnect();如果(频道!=空)通道。disconnect();} } /** * 从指定服务器下载文件到本地* @param ip连接ip * @param用户用户名* @param psw密码* @param端口端口=0 为默认端口* @param fielPath服务器文件路径* @param服务器文件名要下载的文件名* @param输出流输出到本地的文件流* @ throws Exception */public static void sftpFileDownload(字符串ip,内部端口,字符串用户,字符串psw,字符串菲尔帕斯,字符串serverFileNa

  me,OutputStream outputStream) throws Exception { Session session =getSession( ip, user, psw, port); Channel channel = null; try { //创建sftp通信通道 channel = (Channel) session.openChannel("sftp"); channel.connect(1000); ChannelSftp sftp = (ChannelSftp) channel; //进入服务器指定的文件夹 sftp.cd(fielPath); sftp.get(serverFileName,outputStream); } catch (Exception e) { e.printStackTrace(); } finally { session.disconnect(); if (channel!=null)channel.disconnect(); } } /** * 删除服务器指定文件 * @param ip 连接ip * @param user 用户名 * @param psw 密码 * @param port 端口 <=0 为默认端口 * @param fielPath 服务器文件路径 * @param serverFileName 要删除的文件名 * @throws Exception */ public static void sftpFileDelete(String ip,int port, String user, String psw, String fielPath,String serverFileName) throws Exception { Session session =getSession( ip, user, psw, port); Channel channel = null; try { //创建sftp通信通道 channel = (Channel) session.openChannel("sftp"); channel.connect(1000); ChannelSftp sftp = (ChannelSftp) channel; //进入服务器指定的文件夹 sftp.cd(fielPath); sftp.rm(serverFileName); } catch (Exception e) { e.printStackTrace(); } finally { session.disconnect(); if (channel!=null)channel.disconnect(); } } /** * 查看指定目录所有文件 * @param ip * @param user * @param psw * @param port * @param fielPath * @throws Exception */ public static Vector seeServerFileList(String ip, int port,String user, String psw, String fielPath)throws Exception{ Session session =getSession( ip, user, psw, port); Channel channel = null; Vector v=null; try { //创建sftp通信通道 channel = (Channel) session.openChannel("sftp"); channel.connect(1000); ChannelSftp sftp = (ChannelSftp) channel; //进入服务器指定的文件夹 sftp.cd(fielPath); //列出服务器指定的文件列表 v = sftp.ls(fielPath); } catch (Exception e) { e.printStackTrace(); } finally { session.disconnect(); if (channel!=null)channel.disconnect(); } return v; } /** * 连接服务器 * @param ip 服务器地址 * @param user 用户名 * @param psw 密码 * @param port 连接端口 * @return * @throws Exception */ public static Session getSession(String ip, String user, String psw, int port)throws Exception{ Session session = null; JSch jsch = new JSch(); if (port <= 0) { //连接服务器,采用默认端口 session = jsch.getSession(user, ip); } else { session = jsch.getSession(user, ip, port); } //如果服务器连接不上,则抛出异常 if (session == null) { throw new Exception("sftp session is null"); } session.setPassword(psw);//设置密码 //设置登陆超时时间 session.connect(30000);//30s return session; }}以上就是JSch教程使用sftp协议实现服务器文件上传下载操作的详细内容,更多关于JSch sftp协议服务器文件上传下载的资料请关注盛行IT其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • window10如何搭建ftp服务器,搭建ftp文件服务器,window搭建ftp服务器详细教程
  • window10如何搭建ftp服务器,如何部署ftp服务器
  • win10搭建FTP服务器,局域网共享,win10搭建FTP服务器,局域网共享,WIN10家庭版搭建FTP文件服务器详细教程
  • Win10搭建ftp服务器,window10如何搭建ftp服务器_1
  • win10搭建FTP服务器,window10如何搭建ftp服务器
  • Win10搭建ftp服务器,window10如何搭建ftp服务器,Win10系统搭建ftp文件服务器详细教程
  • win10搭建FTP服务器,window10如何搭建ftp服务器,win10搭建配置ftp服务器的方法
  • win10家庭版 ftp,win10搭建FTP服务器,局域网共享
  • win10家庭版 ftp,win10搭建FTP服务器,局域网共享,WIN10家庭版搭建FTP文件服务器详细教程
  • ,,架设自己的FTP服务器 Serv-U详细配置图文教程[推荐]
  • ,,命令行下的FTP使用详解
  • ,,Xftp的下载和安装教程(图文教程)
  • ,,Windows搭建FTP服务器详细教程
  • ,,Windows7下FTP搭建图文教程
  • ,,windows10本地搭建FTP服务器图文教程
  • 留言与评论(共有 条评论)
       
    验证码: