Java 如何使用jsch和base64编码将文件传输到sftp

Java 如何使用jsch和base64编码将文件传输到sftp,java,base64,sftp,jsch,Java,Base64,Sftp,Jsch,我正在将文件编码为base64字符串。我想使用JSch将其传输到sftp文件夹,而不创建本地文件。我该怎么做呢?您可能会使用这种方法 void put(InputStream src, String dst, SftpProgressMonitor monitor, int mode) 在课堂上。JSch还提供了关于如何设置和中断SFTP会话的详细说明。我在ChannelSftp类中使用了putString src、String dst方法 private void getConnection

我正在将文件编码为base64字符串。我想使用JSch将其传输到sftp文件夹,而不创建本地文件。我该怎么做呢?

您可能会使用这种方法

void put(InputStream src, String dst, SftpProgressMonitor monitor, int mode)
在课堂上。JSch还提供了关于如何设置和中断SFTP会话的详细说明。

我在ChannelSftp类中使用了putString src、String dst方法

private void getConnection(String username, String hostname, String password) {
    JSch jsch = new JSch();
    java.util.Properties config = new java.util.Properties();
    config.put("StrictHostKeyChecking", "no");
    try {
        session = jsch.getSession(username, hostname, 22);
        session.setConfig(config);
        session.setPassword(password);
        session.connect();
        channel = session.openChannel(CHANNEL_TYPE);
        channel.connect();
    } catch (JSchException e) {
        e.printStackTrace();
    }
}

private void disconnectConnections() {
    if (channel.isConnected()) {
        channel.disconnect();
    }
    if (session.isConnected()) {
        session.disconnect();
    }
}

private String getConfiguration(String key) {
    return configuration.getString(key);
}

public void uploadToSftp(String sftpFileLocation, String fileToBeUploaded, String filename) {
    if (session == null || channel == null || !session.isConnected() || !channel.isConnected()) {
        getConnection(getConfiguration(USERNAME), getConfiguration(HOST), getConfiguration(PASSWORD));
    }
    try {
        channelSftp = (ChannelSftp) channel;
        channelSftp.cd(sftpFileLocation);
        byte[] data = BaseEncoding.base64().decode(fileToBeUploaded);
        InputStream is = new ByteArrayInputStream(data);
        channelSftp.put(is, filename);
        disconnectConnections();
    } catch (SftpException e) {
        e.printStackTrace();
    }
}

你好@shuti,你能展示一下这个场景的代码吗?等待您的回复。@Justin很抱歉延迟回复,我已经添加了相同的代码段