0

我制作了自己的下载程序,目前的功能是
:获取下载大小
b. 进度条
C. 下载时间
D. 下载速度(虽然不确定)。

但我需要澄清这些:

  1. 下载程序是否使用相同的逻辑从 Internet 下载文件?我的意思是在 Java 中我们使用 FileOutputStream 和 InputStream。其他人使用相同的方式吗?

  2. 目前我的下载速度估计代码是:

    while ((bytesRead = reader.read(buffer)) != -1) {  
    writer.write(buffer, 0, bytesRead);  
      a = (int) (file.length() / 1024);  
      Thread.sleep(1000);  
      csize = (int) (((file.length() / 1024) * 100) / size);  
      progress.setValue(csize);  
      speed.setText("Speed: " + (a - b)+" KB");  
      remaining.setText("Remaining: "+String.valueOf((size - (file.length() / 2014)))+" KB");  
      b = a;  
    }  
    

    我读过这个主题测量 Java 下载速度,但它计算的是总下载时间和速度,而不是每秒下载速度。我上面的代码显示每秒下载速度,但我不确定这是正确的方法。

  3. 我还在这个论坛的某个地方读到,如果我将缓冲区从 [1024] 增加到 [2048] 或 [4096],它会提高我的下载速度,是真的吗?将速度提高到 200kb++ 怎么样?IDM 可以为我做到这一点。

提前致谢 :)

4

0 回答 0