`
_念-H
  • 浏览: 9420 次
  • 性别: 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#通过SSH.NET库可以轻松实现SFTP文件操作,包括连接、上传、下载、删除和移动文件。在开发涉及SFTP的C#应用时,理解这些基本操作是至关重要的。同时,为用户提供友好的图形界面,如"formClient",可以...

    C#实现SFTP文件上传和下载,有进度条

    总的来说,C#和Renci.SshNet为开发人员提供了一个强大且灵活的工具集,用于处理SFTP文件操作,同时可以通过回调机制轻松地实现进度监控,提升用户体验。在你的SFTPtest工程中,你可以找到一个完整的示例,包含了编译...

    JAVA SFTP文件上传、下载及批量下载实例

    JAVA SFTP文件上传、下载及批量下载实例 在本篇文章中,我们将详细介绍JAVA SFTP文件上传、下载及批量下载的实例,包括相关的概念、API介绍、代码实现等方面的内容。 首先,我们需要了解什么是SFTP?SFTP(Secure ...

    SFTP上传下载 MFC VS2010

    总之,“SFTP上传下载 MFC VS2010”项目提供了一个安全且用户友好的解决方案,使得开发者或管理员能在VS2010环境中通过MFC库实现SFTP文件操作,同时结合数据库存储的配置信息,提升了系统适应性和安全性。...

    java实现sftp操作工具类

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

    Sftp文件上传demo

    在这个“Sftp文件上传demo”中,我们将深入探讨如何使用SFTP进行文件上传操作。 首先,我们需要了解SFTP的基本概念。SFTP通过SSH连接建立一个安全通道,用于执行文件管理操作,如上传、下载、重命名和删除文件。与...

    NET 2.0 支持SFTP上传和下载的dll文件

    总的来说,这个"NET 2.0 支持SFTP上传和下载的dll文件"为.NET 2.0开发者提供了一种便捷的方式,让他们能够在Visual Studio 2005中安全地实现SFTP文件操作,无需深入理解SSH和SFTP协议的底层细节,极大地提高了开发...

    C#实现SFTP 文件上传

    首先,为了在C#中实现SFTP文件上传,我们需要一个支持SFTP的库。SharpSSH是一个流行的选择,但现在已被更现代的库如SSH.NET或Renci.SshNet所取代。我们将以Renci.SshNet为例,这是一个强大且易于使用的C# SFTP库。 ...

    SFTP上传下载文件工具

    总之,SFTP上传下载文件工具如FileZilla,对于需要频繁进行远程文件操作的人来说是极其有用的。其强大的功能和易用性使得文件管理变得更加高效和安全。在日常工作中,无论是开发人员部署代码、设计人员分享资源还是...

    github上vscode-sftp的一个分支,我添加了快捷键上传和快捷键下载当前文件功能,修复了传输慢bug

    总结来说,这个GitHub上的`vscode-sftp`分支提供了一个优化的VSCode插件,通过快捷键增强了SFTP文件操作的便捷性,并解决了传输性能问题,对于使用VSCode进行远程开发的用户来说是一个有价值的更新。

    SFTP.rar_c sftp_sftp

    5. **SFTP文件操作** 在SFTP会话上,可以执行常见的文件操作。例如,`ssh_sftp_session`类型的结构体提供了`sftp_open()`、`sftp_close()`、`sftp_read()`、`sftp_write()`等函数,分别对应文件的打开、关闭、读取...

    基于QSSH的sftp文件管理器 源代码

    【标题】基于QSSH的sftp文件管理器 源代码 在IT行业中,文件管理是日常工作中不可或缺的一部分,尤其是在远程服务器操作时。SFTP(Secure File Transfer Protocol)是一种安全的网络协议,用于在不安全的网络环境中...

    windows的sftp文件管理服务器

    标题"windows的sftp文件管理服务器"所涉及的关键知识点包括: 1. **SFTP**:SFTP是FTP的一个安全版本,它不使用单独的控制和数据通道,而是将所有通信都通过一个加密的SSH连接进行。这样可以防止中间人攻击和窃听,...

    SFTPUtil_sftp_

    在描述中提到,“SFTP 源代码库,包含上传文件,下载文件,批量上传和下载”,这表明该代码库提供了一套完整的功能,允许用户执行基本及批量的SFTP文件操作。这些功能对于需要在服务器间移动大量数据的应用程序或...

    SFTP间传输工具,配置,有注解

    Renci.SshNet是开源的.NET SSH客户端库,用于执行SFTP文件操作。 4. **SFTPTOAl.exe**:这是主要的可执行文件,是SFTP传输工具的主体部分,使用Renci.SshNet.dll来实现SFTP功能。 5. **SFTPTOAl.vshost.exe**:这...

    JavaSFTP上传文件

    下面我们将详细探讨如何使用Java通过JSch库实现SFTP文件的上传和下载。 ### 1. JSch库介绍 JSch是Java的一个库,它实现了SSH2协议,包括SFTP子协议。它允许开发者在Java应用程序中实现安全的远程登录、文件传输等...

    Windows平台c++对ftp/sftp文件和文件夹下载上传工程源代码

    本项目提供的是一套完整的C++工程源代码,包含了FTP和SFTP的客户端功能,便于开发者在Windows环境下进行文件操作。以下是对该项目中涉及的知识点的详细解释: 1. FTP(File Transfer Protocol):FTP是一种应用层...

    windows脚本SFTP上传文件至备份服务器方案

    ### Windows脚本SFTP上传文件至备份服务器方案 #### 概述 在当前的信息安全环境中,数据备份成为了保障业务连续性和数据安全的重要手段之一。传统的FTP传输方式由于其明文的身份验证机制,已经不能满足支付行业的...

    bat脚本使用Putty工具sftp上传文件.zip

    `Putty`是一款广受欢迎的SSH客户端,它包含多个组件,如plink、psftp、pscp等,分别用于命令行连接、SFTP文件传输和文件复制等功能。`psftp.exe`是其中的SFTP客户端,支持在命令行环境中执行上传、下载等操作。 要...

Global site tag (gtag.js) - Google Analytics