java中编写代码:如何以sftp的形式把文件上传到服务器?

在Java中,你可以使用JSch库来实现通过SFTP(SSH File Transfer Protocol)将文件上传到服务器。以下是一个示例代码,展示了如何使用JSch库进行SFTP文件上传:

import com.jcraft.jsch.*;

public class SftpUploader {
    public static void main(String[] args) {
        String host = "服务器主机名";
        int port = 22;
        String username = "用户名";
        String password = "密码";
        String localFilePath = "本地文件路径";
        String remoteFilePath = "远程服务器文件路径";

        JSch jSch = new JSch();
        Session session = null;
        ChannelSftp channelSftp = null;
        
        try {
            session = jSch.getSession(username, host, port);
            session.setPassword(password);
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect();

            Channel channel = session.openChannel("sftp");
            channel.connect();
            channelSftp = (ChannelSftp) channel;

            channelSftp.put(localFilePath, remoteFilePath); // 上传文件
            System.out.println("文件上传成功");
        } catch (JSchException | SftpException e) {
            e.printStackTrace();
        } finally {
            if (channelSftp != null && channelSftp.isConnected()) {
                channelSftp.disconnect();
            }
            if (session != null && session.isConnected()) {
                session.disconnect();
            }
        }
    }
}

请确保将代码中的服务器主机名用户名密码本地文件路径远程服务器文件路径替换为实际的值。此示例假设你已经添加了JSch库到项目的类路径中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值