写一个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类,添加其他功能来满足你的需求,如下载文件、列出目录内容等。

相关推荐
Lyn_Li1 小时前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
青石路2 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
极光技术熊5 小时前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
像我这样帅的人丶你还5 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
用户39483951075535 小时前
怎么让我的 Agent 真正"懂"我?——关于记忆、经验学习与预测的一些真实体验
github
小九九的爸爸6 小时前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学7 小时前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
plainGeekDev7 小时前
GreenDAO → Room
android·java·kotlin
远航_12 小时前
git submodule
前端·后端·github
亦暖筑序12 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端