写一个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连接、上传文件到远程服务器,并进行简单的测试输出。请将localFilePathremoteFilePath更改为实际的本地和远程文件路径。

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

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

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

相关推荐
qq_51372804几秒前
Alert 原生弹窗处理
python
李可以量化3 分钟前
Redis 从了解到精通(三)上:量化交易场景下的数据备份与安全配置
redis·python·安全·qmt·ptrade
ZJU_统一阿萨姆4 分钟前
【算子开发】全局内存访问与合并访存
java·服务器·网络·人工智能·语言模型
卷无止境6 分钟前
FastAPI查询参数模型:把散落的参数收拢成一个整齐的盒子
后端·python
逛逛GitHub18 分钟前
概念版德州扑克功能,还真应有意思的,不过 Codex并没上线
github
Code额26 分钟前
Python asyncio 异步编程全套学习文档(零基础完整版)
python·学习·oracle·async·异步·asyncio
71777727 分钟前
不止工具集成:基于 Gitee 软件工厂构建 DevSecOps 研发治理底座
java·服务器·gitee
钱栈up29 分钟前
Mac 开发机一键发版不用切环境:我这样改造了团队的后端部署脚本
运维·python·mac
gis开发之家34 分钟前
Spring Boot 4 深度解析——参数接收大全:@RequestParam、@PathVariable、@RequestBody
java·spring boot·后端·spring
(轻舟已过万重山)1 小时前
D1 · 融合蓝图:Spring AI + 虚拟线程 + 服务网格——现代后端统一底座
java·人工智能·spring