Apache Commons VFSを使用して、ファイル転送の進行状況を監視するにはどうすればよいですか。アップロードとダウンロードでそれを実行できる必要があります。HTTP、FTP、SFTP、および FTPS の進行状況も監視する必要があります。それに関するドキュメントには何も見つかりません。
質問する
2474 次
2 に答える
2
これは、VFS から入力ストリームと出力ストリームを取得することで実行できます。次の例では、commons-net (VFS の依存関係) のユーティリティ クラスを使用して、コピーと進行状況の監視を管理します。同様に手動で行うこともできます。
import org.apache.commons.net.io.Util;
import org.apache.commons.net.io.CopyStreamListener;
private void copy(FileObject sourceFile, FileObject destinationFile, CopyStreamListener progressMonitor) throws IOException {
InputStream sourceFileIn = sourceFile.getContent().getInputStream();
try {
OutputStream destinationFileOut = destinationFile.getContent().getOutputStream();
try {
Util.copyStream(sourceFileIn, destinationFileOut, Util.DEFAULT_COPY_BUFFER_SIZE, sourceFile.getContent().getSize(), progressMonitor);
} finally {
destinationFileOut.close();
}
} finally {
sourceFileIn.close();
}
}
于 2012-06-21T08:10:37.183 に答える