2013-02-21 42 views
1

我使用FTPClient(apache commons net)來執行FTP上傳和下載。獲取傳輸速率的最佳方式是什麼?如何在java中獲取ftp傳輸速率?

一種方法是取得ftp.storeFile()之前的開始時間和ftp.storeFile()之後的結束時間,並使用時間差和文件大小來獲得傳輸速率。但它看起來很幼稚而且效率低下。什麼可能是更好的方法?

回答

0

您描述的方法似乎有問題,因爲在傳輸完成之前您不會獲得文件傳輸速率。你可以使用兩種方法(從FTPClient API),可以考慮使用你在上面,而是描述只能做局部的文件傳輸技術(並獲得每塊後的傳輸速率):

appendFile(String filename, InputStream dataToWrite);

appendFileStream(String filename);這將返回要寫入的OutputStream。

我自己並沒有這樣做,但它似乎是一個更好的主意,然後只使用整個文件完成後估計的傳輸速率。它會讓我瘋狂,如果我不得不等待轉移完成獲得轉移速度,但我是一個不耐煩的人...

希望可以幫助