FTP アップロードとダウンロードを実行するために FTPClient (apache commons net) を使用しています。転送速度を取得する最良の方法は何ですか?
1 つの方法は、ftp.storeFile() の前に開始時刻を取得し、ftp.storeFile() の後に終了時刻を取得し、時間差とファイル サイズを使用して転送速度を取得することです。しかし、それは本当に素朴で非効率的です。より良い方法は何ですか?
FTP アップロードとダウンロードを実行するために FTPClient (apache commons net) を使用しています。転送速度を取得する最良の方法は何ですか?
1 つの方法は、ftp.storeFile() の前に開始時刻を取得し、ftp.storeFile() の後に終了時刻を取得し、時間差とファイル サイズを使用して転送速度を取得することです。しかし、それは本当に素朴で非効率的です。より良い方法は何ですか?
転送が完了するまでファイル転送速度が得られないため、説明した方法には問題があるようです。上記の手法を使用することを検討できますが、代わりに (FTPClient API から) いずれかの方法を使用して、部分的なファイル転送 (および各ブロックの後の転送速度を取得) のみを行うことができます。
appendFile( String filename, InputStream dataToWrite);
また
appendFileStream( String filename );
これは、書き込み先の OutputStream を返します。
私はこれを自分で行ったことはありませんが、ファイル全体が完了した後に推定される転送速度を使用するよりも良い考えのようです. 転送速度を得るために転送が完了するのを待たなければならないと私は気が狂いますが、私はせっかちな人です...
それが役立つことを願っています