1

我正在使用 FTPClient (apache commons net) 来执行 FTP 上传和下载。获取传输率的最佳方法是什么?

一种方法是在 ftp.storeFile() 之前获取开始时间,在 ftp.storeFile() 之后获取结束时间,并使用时间差和文件大小来获取传输速率。但这似乎真的很幼稚和低效。有什么更好的方法?

4

1 回答 1

0

您描述的方法似乎有问题,因为在传输完成之前您不会获得文件传输速率。您可以考虑使用上述技术,但仅使用以下任一方法(来自 FTPClient API)进行部分文件传输(并在每个块后获取传输速率):

appendFile( String filename, InputStream dataToWrite);

或者

appendFileStream( String filename );这将返回要写入的 OutputStream。

我自己没有这样做,但它似乎是一个更好的主意,然后只使用整个文件完成后估计的传输速率。如果我必须等待传输完成才能获得传输速度,那会让我发疯,但我是一个不耐烦的人......

希望有帮助

于 2013-02-21T07:57:44.583 回答