0

ローカルディスクからリモートサーバーにファイルをアップロードしようとしていますcom.jcraft.jsch.ChannelSftp.put(String src, String dst, SftpProgressMonitor monitor)

アップロードの進行状況さえ完了していないことがわかりました。例外が発生しなければ、プログラムは続行します。たとえば、ファイルが既にサーバーにアップロードされているというメッセージをクライアントに送信します。しかし、クライアントが試行した場合、ファイルはまだアップロードされています。ファイルをすぐに取得するには、ファイルが空のファイルまたは一貫性のないファイルです。

ファイルのアップロード中にメインプログラムを一時停止し、アップロードが完了したら再開するにはどうすればよいですか?

4

1 に答える 1

0

putJSch の ChannelSftp は、そのメソッドを使用する場合、バックグラウンド スレッドで実際のファイル転送を行います。これは、プログラムがその間に他のことをしたり、チャネルを使用して他のものをアップロードまたはダウンロードしたりできるようにするために行われます。

渡した進行状況モニターオブジェクトには、進行状況と、アップロードまたはダウンロードの終了が通知されます。これを使用して、ファイルがいつ完了したか、またはいつファイルで他のことを実行できるかを知ることができます。

于 2013-06-01T18:09:31.963 に答える