如何通过ChannelSftp在上传文件后/暂停/恢复程序

时间:2013-05-24 05:58:27

标签: jsch

我正试图通过com.jcraft.jsch.ChannelSftp.put(String src, String dst, SftpProgressMonitor monitor)

将文件从本地磁盘上传到远程服务器

我发现即使上传进度没有完成,如果没有发生异常,程序也会继续。例如,向客户端发送一条消息已经上传到服务器的文件。但是文件仍在上传,如果客户端尝试立即获取文件,则该文件为空白文件或文件不一致。

如何在上传文件时暂停主程序,并在完成上传后恢复?

1 个答案:

答案 0 :(得分:0)

如果你使用put method,JSch的ChannelSftp会在后台线程中进行实际的文件传输。这样做是为了让您的程序可以在此期间执行其他操作,甚至使用频道上传或下载其他内容。

您传递的progress monitor对象将被告知进度以及上传或下载的结束。 使用它来了解它何时完成,或者何时可以对文件执行其他操作。