`
_念-H
  • 浏览: 8766 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

SFTP 文件操作

    博客分类:
  • JAVA
阅读更多

   Secure File Transfer Protocol的缩写,安全文件传送协议。

1、连接

ChannelSftp sftp = null;
		try {
			JSch jsch = new JSch();
			//获取会话对象
			Session sshSession = jsch.getSession(username, host, port);
			System.out.println("Session created.");
			//向会话对象植入密码
			sshSession.setPassword(password);
			Properties sshConfig = new Properties();
			sshConfig.put("StrictHostKeyChecking", "no");
			sshSession.setConfig(sshConfig);
			//连接会话
			sshSession.connect();
			System.out.println("Session connected.");
			System.out.println("Opening Channel.");
			//获得会话通道
			Channel channel = sshSession.openChannel("sftp");
			//连接
			channel.connect();
			sftp = (ChannelSftp) channel;
			 System.out.println("Connected to " + host + ".");
		  } catch (Exception e) {
		
		  }
		  return sftp;

 

 2、操作

 //上传文件
		try {
			sftp.cd(directory);
			File file=new File(uploadFile);
			sftp.put(new FileInputStream(file), file.getName());
			System.out.println("上传成功!");
		} catch (Exception e) {
			e.printStackTrace();
		}
		//下载文件
		try {
			sftp.cd(directory);
			File file=new File(saveFile);
			sftp.get(downloadFile, new FileOutputStream(file));
		} catch (Exception e) {
			e.printStackTrace();
		}
		//删除文件
		try {
			sftp.cd(directory);
			sftp.rm(deleteFile);
		 } catch (Exception e) {
			e.printStackTrace();
		 }

 3、断开连接(还有session会话、channel对象)//根据项目情况断开连接

if(null != channel ){
			 System.out.println("断开Channel连接");
			 channel.disconnect();
		 }
		 
		 if(null != sftp ){
			 System.out.println("断开ChannelSftp连接");
			 sftp.disconnect();
		 }
		 
		 if(null != sshSession ){
			 System.out.println("断开Session连接");
			 sshSession.disconnect();
		 }

 4、测试

		public static final String HOST = "x.x.x.x";
		public static final int PORT =**;
		public static final String USERNAME = "**";
		public static final String PASSWORD = "***";
		public static final String DIRECTORY = "/ent/post_res/";
		
		public static void main(String[] args) {
			
			SFTPUploadBean sf = new SFTPUploadBean(); 
			//本地文件
			String uploadFile = "G:\\sftp.txt";
			//连接
			ChannelSftp sftp=sf.connect(HOST, PORT, USERNAME, PASSWORD);
			//操作
			sf.upload(DIRECTORY, uploadFile, sftp);
			//关闭连接
			sf.free(sftp);
			System.exit(0);
			
		}

 

分享到:
评论

相关推荐

    利用Renci.SshNet类库实现sftp文件操作

    利用Renci.SshNet类库实现sftp文件操作,Renci.SshNet可以实现sftp(基于ssh)操作,也可以实现sftp(不基于ssh)操作。此文件包括Renci.SshNet.dll、文件操作方法类及调用实例。注意Renci.SshNet.dll只支持.net ...

    C#sftp实现对文件的操作

    C对SFTP的文件操作 1、连接sftp协议 2、实现文件的添加、删除、移动等

    java实现sftp操作工具类

    1分让你得到sftp常用操作工具,工具实现如下操作: 1)得到当前工作目录地址 2)改变目录为配置的远程目录 3)取文件目录列表 4)取文件列表 5)下载文件 6)复制文件 7)删除文件 8)目录是否存在,文件是否存在 9)移动文件 ...

    window下bat操作ftp、sftp cmd操作ftp、sftp

    window下bat操作ftp、sftp,脚本已完善,只需要修改配置即可。本脚本是参照https://download.csdn.net/download/housonglin1213/10127890进行修的,分值是系统设置的,没分的话可以从前面的链接中下载

    windows的sftp文件管理服务器

    windows版的sftp和ftp服务器,支持分账户权限管理,安装和使用操作简单易用

    java操作sftp的工具类(JSch)

    java 实现 sftp 文件上传下载 等操作。

    JavaSFTP上传文件

    Java 操作SFTP上传文件下载案例,很值得看的,Java 操作SFTP上传文件下载案例,很值得看的。

    C# SFTP上传下载文件

    C# SFTP上传下载文件,此代码来源于互联网,本人整理,修改和测试无问题的代码,共享给大家。

    SFTP操作类库(含源码)

    其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上...

    FTP,SFTP文件上传,下载到服务器,ZIP文件压缩,加密,解密,然后再上传到服务器,各种封装操作;

    FTP,SFTP文件上传,下载到服务器,ZIP文件压缩,加密,解密,然后再上传到服务器,各种封装操作; 里面包含了帮助类库和测试使用说明,下载即可运行;该代码是本人项目实际运行后的总结,分享给大家;

    利用com.jcraft.jsch进行SFTP下载文件

    利用com.jcraft.jsch进行SFTP下载文件,方便简单快捷操作SFTP

    C# SFTP文件上传和下载,有进度条,增加多个文件文件下载

    前面上传过一次,不能编辑了,重新上传...和前面那个相比,代码优化了一下:1)上传和下载完成的时候关闭FileStream(不关闭的话下载完成之后本地操作该文件会提示被占用),2)增加了连续下载多个文件(位于Form2)。

    C#操作SFTP

    连接/断开SFTP,上传文件、移动文件、删除文件、下载文件,获取文件目录

    sftp, 对 go/ssh包的SFTP支持.zip

    sftp, 对 go/ssh包的SFTP支持 sftpsftp 包提供了使用SFTP子系统对远程ssh服务器上的文件系统操作的支持。 它还实现了一个用于从 文件系统 服务文件的SFTP服务器。 的用法和示例请参阅 godoc.org/github.com/pkg/sf

    sftp协议简介

    3. 易用性:SFTP 协议提供了一种简单、易用的文件传输方式,支持多种操作系统和应用程序。 SFTP 协议的应用场景包括: 1. 文件传输:SFTP 协议可以用于文件传输、备份和同步等场景。 2.远程存储:SFTP 协议可以...

    java common FTPClient ftp sftp

    读取文件、操作文件、删除文件、移动文件(文件改名)等一系列操作,只要导入依赖.txt里面的依赖,就可以直接使用,test类用来快速使用,提示都给足了,ftp的一系列操作经过测试没有任何问题。有不懂的直接问我。 ...

    基于sshd构建sftp服务器

    该包基于Apache的sshd搭建sftp服务器,可以实现登录密钥验证,支持sftp操作和linux命令操作

    详解Linux系统中设置SFTP服务用户目录权限的方法

    在工作或者学习的时候,我们常常会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。 方法如下 ...

    java操作sftp上传下载

    写了一个java操作sftp的工具类,里面有上传、下载、批量操作、远程创建目录、删除文件等等方法。里面的方法,都经过我测试,可用。。

    Sftp:C#利用Renci.SshNet类库实现SFTP协议操作文件

    Sftp:C#利用Renci.SshNet类库实现SFTP协议操作文件

Global site tag (gtag.js) - Google Analytics