如何在java中获取ftp传输速率?

时间:2013-02-21 05:32:14

标签: java ftp ftp-client apache-commons-net

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

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

1 个答案:

答案 0 :(得分:0)

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

appendFile( String filename, InputStream dataToWrite);

appendFileStream( String filename );这会返回一个要写入的OutputStream。

我自己没有这样做,但似乎更好的想法就是使用整个文件完成后估算的传输速率。如果我不得不等待转移完成以获得转移速度,这会让我发疯,但我是一个不耐烦的人...

希望有所帮助