期間的帶寬速度的用戶友好的格式化輸出要下載的過程中表現出對於帶寬速度很好地格式化輸出java中如何顯示關於下載
我必須感謝@Tomasz Nurkiewicz低於此計算,它顯示
萬* 字節 *每秒我下載一個文件。
long start = System.nanoTime();
long totalRead = 0;
final double NANOS_PER_SECOND = 1000000000.0;
final double BYTES_PER_MIB = 1024 * 1024;
while ((val = bis.read(buffer, 0, 1024)) > 0) {
//...
totalRead += val;
double speed = NANOS_PER_SECOND/BYTES_PER_MIB * totalRead/(System.nanoTime() - start + 1)
}
想要它是這樣的。我得到兆* 字節 *每秒從 計算和從我輸入if statement
選擇 千字節/秒,MBit/s(不知道)或就像一個正常的FTP客戶端顯示速度。
if(KByte/s something) {
System.out.print(your current speed xx KB/s);
}else if(MByte/s something){
System.out.print(your current speed xx MB/s);
}
我的問題是我在if語句中放什麼?
希望你明白我試着做每秒
grate im使用[Mr Ed](http://stackoverflow.com/questions/3263892/format-file-size-as-mb-gb-etc)回答你的鏈接,謝謝。唯一的問題是我的代碼給我像0.5683736337 MByte/s雙打,我需要將其轉換爲很長時間,因爲@Mr Ed方法需要很長的值。是0.5683736337是否與5683736337 MBytes? – Erik
只需跳過「'/ BYTES_PER_MIB'」部分即可獲得字節而不是MiB。 –
現在正在工作,這太酷了 – Erik