我正在尝试将文件从本地磁盘上传到远程服务器com.jcraft.jsch.ChannelSftp.put(String src, String dst, SftpProgressMonitor monitor)
我发现连上传进度都没有完成,如果没有出现异常,程序会继续进行。例如,向客户端发送消息说文件已经上传到服务器。但是文件仍在上传,如果客户端尝试要立即获取文件,该文件是空白文件或不一致的文件。
如何在上传文件时暂停主程序,并在上传完成后恢复?
我正在尝试将文件从本地磁盘上传到远程服务器com.jcraft.jsch.ChannelSftp.put(String src, String dst, SftpProgressMonitor monitor)
我发现连上传进度都没有完成,如果没有出现异常,程序会继续进行。例如,向客户端发送消息说文件已经上传到服务器。但是文件仍在上传,如果客户端尝试要立即获取文件,该文件是空白文件或不一致的文件。
如何在上传文件时暂停主程序,并在上传完成后恢复?
put
如果您使用该方法,JSch 的 ChannelSftp 在后台线程中执行实际的文件传输。这样做是为了让您的程序在此期间可以做其他事情,甚至可以使用频道上传或下载其他内容。
您通过的进度监视器对象将被告知进度,以及上传或下载的结束。使用它可以知道何时完成,或者何时可以对文件执行其他操作。