我们有一个场景,我们试图解组一个 java 对象,将其转换为输入流并使用 JSCH API 将其 SFTP
基本上 -> 我们的目标是强制 jSCH 以 INPUTSTREAM 的形式推送对象,而不是将其转换为文件然后像下面的示例一样将其发送过来:
// create a session
session = jsch.getSession(ftpUserName, ftpHost, ftpPort);
channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpTunnel = (ChannelSftp) channel;
// push the file you created using the channel created by the session
File f = new File(fileToTransmit);
>> **sftpTunnel.put(new FileInputStream(f), f.getName());**
除了我们想要切换最后一行以使用普通旧的 InputStream 而不与任何文件关联。
根据 jSCH API - 不使用 FileInputStream 是可能的:
void put(InputStream src, String dst)
关于我们将如何解决这个问题的任何想法?
我们可以使用 ObjectOutputStream 吗?有没有办法获取一个对象并将其解组并将其馈送到 Inputstream 而无需在中间创建文件?
谢谢