大数据学习之路-----JSch

本文介绍了JSch库,一个纯Java实现的SSH2库,用于连接SSH服务器进行安全文件传输。重点讲解如何使用JSch进行SFTP操作,包括文件的上传、下载、重命名、删除以及目录管理等,同时提到了JSch的三种文件传输模式:OVERWRITE、RESUME和APPEND。通过JSchExecutor类的实例化和方法调用来演示具体的SFTP操作。
摘要由CSDN通过智能技术生成

JSch是Java Secure Channel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序。
本文只介绍如何使用JSch实现的SFTP功能。
SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式。SFTP是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

ChannelSftp类是JSch实现SFTP核心类,它包含了所有SFTP的方法,如:
put(): 文件上传
get(): 文件下载
cd(): 进入指定目录
ls(): 得到指定目录下的文件列表
rename(): 重命名指定文件或目录
rm(): 删除指定文件
mkdir(): 创建目录
rmdir(): 删除目录
等等(这里省略了方法的参数,put和get都有多个重载方法,具体请看源代码,这里不一一列出。)
JSch支持三种文件传输模式:
传输模式名 描述
OVERWRITE 完全覆盖模式,这是JSch的默认文件传输模式,即如果目标文件已经存在,传输的文件将完全覆盖目标文件,产生新的文件。
RESUME 恢复模式,如果文件已经传输一部分,这时由于网络或其他任何原因导致文件传输中断,如果下一次传输相同的文件,则会从上一次中断的地方续传。
APPEND 追加模式,如果目标文件已存在,传输的文件将在目标文件后追加
具体代码:
package com.zng.jsch;

import com.jcraft.jsch.;
import java.io.
;
import java.nio.charset.Charset;

/**

  • author:Mr.zhao

  • date:2019/7/22

  • 知识很简单,学习很快乐
    */
    public class JSchExecutor {
    //private static Logger log = LoggerFactory.getLogger(JSchExecutor.class);
    private String charset = “UTF-8”; // 设置编码格式
    private String user; // 用户名
    private String passwd; // 登录密码
    private String host; // 主机IP
    private int port = 22; //默认端口
    private JSch jsch;
    private Session session;
    private ChannelSftp sftp;

    /**
    *

    • @param user 用户名
    • @param pas
jsch-0.1.54.jar是一个开源的Java库,主要用于在Java程序中实现SSH客户端功能。它是连接到远程服务器的重要工具,可以传输文件和执行远程命令。该库提供了一套API,使开发者能够在Java程序中建立SSH连接,通过该连接进行远程文件传输和远程命令执行。 jsch-0.1.54.jar的主要功能包括: 1. 建立SSH连接:通过提供正确的主机名、用户名和密码,开发者可以使用该库中的方法建立与远程服务器的SSH连接。 2. 远程文件传输:该库提供了上传和下载文件功能,使开发者能够在本地和远程服务器之间传输文件。 3. 远程命令执行:开发者可以使用该库中的方法执行远程服务器上的命令,并获取执行结果。 jsch-0.1.54.jar具有以下的优点: 1. 简易性:该库提供了简单易用的API,使开发者在Java程序中轻松实现SSH连接功能。 2. 可靠性:该库经过了长时间的发展和测试,在连接建立和文件传输方面表现稳定可靠。 3. 兼容性:jsch-0.1.54.jar可以与不同的操作系统和服务器类型兼容,支持多种SSH协议版本。 4. 开源性:该库是开源的,意味着开发者可以查看源代码并对其进行修改和定制以满足自己的需求。 总而言之,jsch-0.1.54.jar是一个优秀的Java库,提供了便捷的SSH客户端功能,使开发者能够轻松建立与远程服务器的连接,并进行文件传输和命令执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值