我正试图通过com.jcraft.jsch.ChannelSftp.put(String src, String dst, SftpProgressMonitor monitor)
我发现即使上传进度没有完成,如果没有发生异常,程序也会继续。例如,向客户端发送一条消息已经上传到服务器的文件。但是文件仍在上传,如果客户端尝试立即获取文件,则该文件为空白文件或文件不一致。
如何在上传文件时暂停主程序,并在完成上传后恢复?
答案 0 :(得分:0)
如果你使用put
method,JSch的ChannelSftp会在后台线程中进行实际的文件传输。这样做是为了让您的程序可以在此期间执行其他操作,甚至使用频道上传或下载其他内容。
您传递的progress monitor对象将被告知进度以及上传或下载的结束。 使用它来了解它何时完成,或者何时可以对文件执行其他操作。