我的情况是:
我使用 Jsch lib(v - 0.1.54),使用 SFTP
一切都有效,除非我尝试使用 sftpChannel.put()方法,它上传文件但过程卡住了
代码:
public static void moveFiles() {
//some code
try {
InputStream fis = sftpChannel.get(currentDirectory+"/"+fileName);
sftpChannel.put(fis, fileName, ChannelSftp.RESUME);//"freezes here, no exception is thrown
fis.close();
} catch(Exception e){
e.printStackTrace();
}
//some other code
}
我已经检查过是否已经有任何其他问题,例如我所面临的问题,但是没有解决方案(显然)
提前致谢o /
答案 0 :(得分:3)
在进一步挖掘问题之后,我想出了解决方案 我需要一个ChannelSftp来获取文件,另一个ChannelSftp需要使用put
public static void moveFiles() {
//some code
ChannelSftp sftpChannel = getChannel();
ChannelSftp sftpChannelDownload = getChannel();
try {
InputStream fis = sftpChannelDownload.get(currentDirectory+"/"+fileName);
sftpChannel.put(fis, fileName);
} catch(Exception e){
e.printStackTrace();
}
//more code
}