1

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 を使用できますか? オブジェクトを取得してアンマーシャリングし、中間でファイルを作成せずに入力ストリームにフィードする方法はありますか?

ありがとう

4

0 に答える 0