使用Java 将文件上传至sftp 指定目录

要使用Java将文件上传到SFTP指定目录,您可以使用JSch库。以下是一个示例代码,演示如何使用JSch将本地文件上传到SFTP服务器上的指定目录:

import com.jcraft.jsch.*;

public class SftpFileUpload {

    public static void main(String[] args) {
        String localFilePath = "path/to/local/file.txt";
        String remoteDirectoryPath = "path/to/remote/directory";
        String remoteFilePath = remoteDirectoryPath + "/" + "file.txt";

        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession("username", "host.com", 22);
            session.setPassword("password");
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect();

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

            channelSftp.cd(remoteDirectoryPath);
            channelSftp.put(localFilePath, remoteFilePath);

            channelSftp.disconnect();
            session.disconnect();

            System.out.println("File uploaded successfully to: " + remoteFilePath);
        } catch (JSchException | SftpException e) {
            e.printStackTrace();
        }
    }
}

请确保替换以下值:

  • "path/to/local/file.txt":本地文件的路径。
  • "path/to/remote/directory":SFTP服务器上目标目录的路径。
  • "username":SFTP服务器的用户名。
  • "host.com":SFTP服务器的主机名或IP地址。
  • "password":SFTP服务器的密码。

此示例假定您已经添加了JSch库到您的Java项目中。如果你还没有这样做,你可以通过Maven或Gradle添加依赖,或者直接下载JSch库的jar文件并将其添加到项目的类路径中。

你可能感兴趣的:(sftp,java,python,开发语言)