Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java sftp上传文件

作者:刺眼的男ren   发布日期:2025-09-18   浏览:92

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

import java.io.File;
import java.io.FileInputStream;

public class SFTPUploadExample {

    public static void main(String[] args) {
        String host = "your.sftp.server.com";
        int port = 22;
        String user = "username";
        String password = "password";
        String localFilePath = "/path/to/local/file.txt";
        String remoteFilePath = "/path/to/remote/file.txt";

        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession(user, host, port);
            session.setPassword(password);

            // 禁用主机密钥检查
            session.setConfig("StrictHostKeyChecking", "no");

            session.connect();

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

            File file = new File(localFilePath);
            FileInputStream fis = new FileInputStream(file);
            sftpChannel.put(fis, remoteFilePath);

            fis.close();
            sftpChannel.exit();
            session.disconnect();

            System.out.println("File uploaded successfully.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 引入依赖:代码使用了 com.jcraft.jsch 包,这是一个常用的 Java SFTP 库。你需要在项目中添加这个依赖。
  2. 连接设置:通过 JSch 创建一个会话(Session),并设置服务器的主机名、端口、用户名和密码。
  3. 禁用主机密钥检查:为了简化示例,设置了 StrictHostKeyCheckingno,这会在实际生产环境中带来安全风险,建议在生产环境中启用主机密钥检查。
  4. 打开 SFTP 通道:通过会话打开一个 SFTP 通道,并连接到 SFTP 服务器。
  5. 上传文件:使用 ChannelSftp.put() 方法将本地文件上传到远程服务器。
  6. 关闭资源:确保关闭所有打开的流和通道,以释放资源。

请根据实际情况修改 hostportuserpasswordlocalFilePathremoteFilePath 的值。

上一篇:java抽象类有构造方法吗

下一篇:java继承父类

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站