写一个java中如何用JSch来连接sftp的类并做测试?(亲测)

当使用JSch连接SFTP服务器的类,并进行测试时,可以按照以下步骤操作:

  1. 添加JSch库的依赖项。在你的项目中添加JSch库的Maven依赖项(如前面所述)或下载JAR文件并将其包含在项目中。

  2. <dependency>

    <groupId>com.jcraft</groupId>

    <artifactId>jsch</artifactId>

    <version>0.1.55</version>

    </dependency>

  3. 创建一个名为SftpConnector的Java类,并在其中编写连接SFTP服务器的逻辑以及一些简单的测试方法。

import com.jcraft.jsch.*;

public class SftpConnector {

private String host;

private int port;

private String username;

private String password;

public SftpConnector(String host, int port, String username, String password) {

this.host = host;

this.port = port;

this.username = username;

this.password = password;

}

public void connectAndUploadFile(String localFilePath, String remoteFilePath) {

try {

JSch jsch = new JSch();

// 建立SFTP会话

Session session = jsch.getSession(username, host, port);

session.setPassword(password);

session.setConfig("StrictHostKeyChecking", "no");

session.connect();

// 打开SFTP通道

ChannelSftp channel = (ChannelSftp) session.openChannel("sftp");

channel.connect();

// 上传文件

channel.put(localFilePath, remoteFilePath);

System.out.println("File uploaded successfully.");

// 关闭SFTP通道和会话

channel.disconnect();

session.disconnect();

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String\[\] args) {

String host = "hostname"; // SFTP服务器主机名或IP地址

int port = 22; // SFTP服务器端口号,默认为22

String username = "username"; // SFTP服务器登录用户名

String password = "password"; // SFTP服务器登录密码

String localFilePath = "/path/to/local/file.txt"; // 本地文件路径

String remoteFilePath = "/path/to/remote/file.txt"; // 远程文件路径

SftpConnector connector = new SftpConnector(host, port, username, password);

connector.connectAndUploadFile(localFilePath, remoteFilePath);

}

}

在上述示例中,SftpConnector类包含了一个构造函数,用于接收SFTP服务器的连接参数(主机、端口、用户名和密码)。connectAndUploadFile方法用于建立SFTP连接、上传文件到远程服务器,并进行简单的测试输出。请将localFilePath和remoteFilePath更改为实际的本地和远程文件路径。

  1. 在main方法中,创建一个SftpConnector对象并调用connectAndUploadFile方法,以测试连接和文件上传功能。

确保将host、port、username和password替换为实际的连接信息,并提供有效的本地文件路径和远程文件路径。

运行这个类,它将连接到指定的SFTP服务器,并尝试上传本地文件到远程服务器。你可以根据需要扩展SftpConnector类,添加其他功能来满足你的需求,如下载文件、列出目录内容等。

相关推荐
BioRunYiXue15 分钟前
使用docker分析高通量测序数据
java·数据库·人工智能·spring cloud·docker·tomcat·html
Shaoshing43 分钟前
缓存一致问题及常见解决方案
java·缓存
聚美智数1 小时前
文档转换 API‑文档转 PDF‑PDF 转文档‑异步文档处理‑文件格式迁移‑转换结果回调推送 API 接口介绍
android·java·pdf
Orange Wu1 小时前
GitHub SSH 443 端口配置解决连接失败
github
从零数据分析1 小时前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database
左手吻左脸。1 小时前
新环境配置git
github
miofly1 小时前
GitHub 今日推荐|dquickts:能暂停、能存档的 QuickJS
开源·github
yuzhiboyouye1 小时前
com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记
java·开发语言
import_random1 小时前
[git]只有git,没有github, 如何工作
git·github
import_random1 小时前
[git]先创建远程仓库or先创建本地项目
git·github