1
我使用FTPClient(apache commons net)來執行FTP上傳和下載。獲取傳輸速率的最佳方式是什麼?如何在java中獲取ftp傳輸速率?
一種方法是取得ftp.storeFile()之前的開始時間和ftp.storeFile()之後的結束時間,並使用時間差和文件大小來獲得傳輸速率。但它看起來很幼稚而且效率低下。什麼可能是更好的方法?
我使用FTPClient(apache commons net)來執行FTP上傳和下載。獲取傳輸速率的最佳方式是什麼?如何在java中獲取ftp傳輸速率?
一種方法是取得ftp.storeFile()之前的開始時間和ftp.storeFile()之後的結束時間,並使用時間差和文件大小來獲得傳輸速率。但它看起來很幼稚而且效率低下。什麼可能是更好的方法?
您描述的方法似乎有問題,因爲在傳輸完成之前您不會獲得文件傳輸速率。你可以使用兩種方法(從FTPClient API),可以考慮使用你在上面,而是描述只能做局部的文件傳輸技術(並獲得每塊後的傳輸速率):
appendFile(String filename, InputStream dataToWrite);
或
appendFileStream(String filename);
這將返回要寫入的OutputStream。
我自己並沒有這樣做,但它似乎是一個更好的主意,然後只使用整個文件完成後估計的傳輸速率。它會讓我瘋狂,如果我不得不等待轉移完成獲得轉移速度,但我是一個不耐煩的人...
希望可以幫助