需要澄清我的Java下载程序

时间:2013-07-03 11:25:40

标签: java

我制作自己的下载程序,目前的功能是:
一个。获取下载大小
湾进度
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;  
    }  
    

    我已阅读此主题Measuring Download Speed Java, 但它计算总下载时间和速度,而不是每秒下载速度。我上面的代码显示了每秒的下载速度,但我不确定这是否正确。

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

  4. 提前致谢:)

0 个答案:

没有答案