`
ychengIT
  • 浏览: 15515 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java sftp连接

    博客分类:
  • java
 
阅读更多
package com.cpic.lifeplan.common.util;

import java.util.Properties;

import org.apache.log4j.Logger;

import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;

/**
 * 处理sftp工具类
 * @author 严程
 */
public class  SftpUtil {
	protected  Logger log = Logger.getLogger(SftpUtil.class);
	private Session session  = null;
    private ChannelSftp sftp = null; 
    /**
	 * 打开sftp并连接
	 * @return
	 * @throws JSchException 
	 * @throws Exception
	 */
	public ChannelSftp getSftp(){
		try {
			String username = ConfigUtil.getConfigValue(ConfigUtil.USERNAME);
			String host = ConfigUtil.getConfigValue(ConfigUtil.HOST);
			int port = Integer.parseInt(ConfigUtil.getConfigValue(ConfigUtil.PORT));
			String password = ConfigUtil.getConfigValue(ConfigUtil.PASSWORD);
			JSch jsch = new JSch();
			session = jsch.getSession(username, host, port);
			session.setPassword(password);
			Properties sshConfig = new Properties();
			sshConfig.put("StrictHostKeyChecking", "no");
			session.setConfig(sshConfig);
			session.connect();
			sftp = (ChannelSftp)session.openChannel("sftp");
			sftp.connect();
		} catch (JSchException e) {
			if (sftp != null) {
				sftp.disconnect();
				sftp = null;
			}
			if (session != null) {
				session.disconnect();
				session = null;
			}
			log.error("系统异常sftp连接失败!",e);
		}
		return sftp;
	}
	
	/**
	 * 关闭连接;
	 */
	public void close() {
		if (sftp != null) {
			sftp.disconnect();
			sftp = null;
		}
		if (session != null) {
			session.disconnect();
			session = null;
		}
	}

}
分享到:
评论

相关推荐

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

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

    java ftp连接池

    Java FTP连接池是一种用于管理FTP(文件传输协议)连接的资源池,它的主要目标是提高应用程序的性能和效率。在传统的FTP操作中,每次需要连接到FTP服务器时都会创建一个新的连接,这会消耗大量时间和系统资源。而...

    java sftp文件上传

    2. **配置SFTP连接** 创建JSch实例,并设置必要的连接参数,如主机名、端口、用户名和密码。 ```java JSch jsch = new JSch(); Session session = jsch.getSession("username", "hostname", 22); session.set...

    java SFTP上传所需jar和秘钥工具

    在这里提到的`putty-64bit-0.70-installer.msi`是64位版本的PuTTY安装程序,虽然PuTTY本身不是Java SFTP上传的直接依赖,但它通常用于测试SSH连接,生成密钥对(公钥和私钥),以及调试连接问题。PuTTY生成的密钥...

    JavaSFTP上传文件

    SFTP连接配置 在使用JSch进行SFTP操作前,需要配置连接参数,包括主机名、端口号、用户名和密码。以下是一个简单的示例: ```java Properties config = new Properties(); config.put("StrictHostKeyChecking", ...

    java操作sftp的工具类(JSch)

    JSch是一个纯Java实现的SSH2库,允许开发人员连接到支持SFTP的服务器,进行文件的上传、下载以及执行其他相关操作。本文将详细介绍如何使用JSch进行SFTP操作,并提供一个简单的`SftpUtil`工具类示例。 首先,我们...

    JAVA实现SFTP上传,下载,删除等方法

    在Java编程中,实现Secure File Transfer Protocol (SFTP) 功能是常见的需求,尤其是在处理远程文件操作时。本文将详细讲解如何使用开源库JSch来实现在Java中进行SFTP的上传、下载以及删除文件的方法。 JSch是一个...

    JAVA SFTP上传和下载所需JAR和源码

    总结来说,Java SFTP上传和下载涉及到的主要知识点包括JSch库的使用、SSH连接的建立、SFTP通道的开启和关闭,以及文件的上传和下载操作。通过提供的JAR文件和源码,开发者可以快速集成并实现自己的SFTP功能,确保...

    sftp上传下载 java

    首先,为了在Java中使用SFTP,我们需要一个支持SFTP的库,例如JSch(Java Secure Channel)。JSch是一个开源的Java库,提供了SSH2协议的实现,包括SFTP服务。在描述中提到的“jar包”可能就是JSch的库文件。要使用...

    java 开发sftp下载上传

    1. **准备下载**:下载文件的步骤与上传类似,先建立SFTP连接并打开通道。 2. **获取远程文件**:使用`get()`方法从服务器下载文件: ```java File localDestination = new File("/path/to/local/destination"); ...

    连接sftp服务器

    首先,我们需要一个Java库来处理SFTP连接。常用的是JSch(Java Secure Channel),这是一个开源的SSH2库,支持SFTP。要使用JSch,你需要将其添加到你的项目依赖中。如果你使用Maven,可以在pom.xml文件中添加如下...

    java实现sftp上传下载文件

    本文将详细探讨如何使用Java实现SFTP的文件上传和下载功能,以及如何利用jcraft库来完成这一任务。 首先,jcraft是一个日本开发者团队创建的开源项目,提供了Java实现的SSH2库,其中包括对SFTP的支持。在本示例中,...

    详解Java使用Jsch与sftp服务器实现ssh免密登录

    4. 在Java中,通过JSch库连接到SFTP服务器时,需要先建立一个JSch对象,然后创建一个Session(会话),并设置Session的配置属性。 5. 接着通过Session对象获取一个Channel(通道),并打开SFTP通道。此时可以利用...

    java版SFTP实现示例(使用jsch)

    接下来,我们来看如何创建一个SFTP连接。首先,实例化JSch对象,然后使用`Session.connect()`方法建立SSH连接。这通常需要提供主机名、端口号、用户名和密码: ```java import com.jcraft.jsch.*; JSch jsch = new...

    java实现sftp文件夹上传

    以上就是使用Java Swing实现SFTP文件夹上传的基本步骤,包括建立SSH连接、使用SFTP通道、上传文件和递归上传文件夹。对于生产环境,建议添加异常处理和错误提示,以及更安全的策略,如使用密钥对而非密码进行身份...

    java实现sftp客户端上传文件以及文件夹的功能

    `Ftp.java`可能是一个封装了SFTP操作的类,`properties.properties`是配置文件,包含SFTP连接的相关参数。`打包运行jar文件.txt`可能是关于如何构建和运行项目成可执行JAR的说明。 实现上述功能时,还需要注意异常...

    java的ftp和Sftp上传

    Java中的FTP(File Transfer Protocol)和SFTP(Secure File Transfer Protocol)是两种用于在客户端和服务器之间传输文件的协议。FTP是一种基于TCP的协议,它允许用户上传、下载和管理远程服务器上的文件。然而,...

    java sftp文件上传代码

    Java SFTP文件上传是通过Java编程语言实现与Secure File Transfer Protocol (SFTP)服务器进行交互,将本地文件安全地传输到远程服务器的过程。SFTP是一种安全的网络协议,用于在客户端和服务器之间交换文件,它基于...

    SFTP連接所用到的jsch.jar包

    总的来说,JSch库为Java开发者提供了一种强大且灵活的方式来实现SFTP连接和文件操作。无论是进行简单的文件传输还是构建复杂的文件管理系统,JSch都能满足需求。通过熟悉其API和最佳实践,开发者可以有效地集成SFTP...

Global site tag (gtag.js) - Google Analytics