写一个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_485015219 分钟前
MyBatis-Plus 3.x FieldStrategy 作用
java·数据库·mybatis
lhldsg11 分钟前
课程排课系统实战指南:从数据库设计到算法调优全流程解析
java·数据库·算法·小程序
光电的一只菜鸡16 分钟前
高通tuning中eis需要调什么
java·开发语言·前端
cui_ruicheng33 分钟前
LangChain 应用开发(十二):Agent 中间件与内置中间件
人工智能·python·中间件·langchain
zx_7414848139 分钟前
【Python 入门】Python 正则表达式零基础讲解:基础语法 + 元字符 + 常用案例
python·正则表达式
weixin1997010801644 分钟前
《大促护航:电商API限流与降级,双11峰值500万调用的架构复盘》(附Python源码)
python·架构·wpf
2601_957883841 小时前
2026年8月:华硕笔记本维修相关信息
python·电脑
lzqrzpt1 小时前
临沂LED驱动电源工程选型与直销工厂评估标准解析
python·单片机·嵌入式硬件
API快乐传递者1 小时前
1688 跨境电商 API 接口实战指南:从寻源到代采的全链路技术方案
java·前端·数据库
孔明click331 小时前
不想写代码,但想要集成一个登录页面?Sa-Token-Quick-Login 帮你实现!
java·sa-token·开源·springboot·登录·权限·权限认证