0

私は独自のダウンローダー プログラムを作成しています。現在の機能は次
のとおりです。ダウンロード サイズを取得する
b. プログレスバー
c. ダウンロード時間
d. ダウンロード速度(確かではありません)。

しかし、これらについて明確にする必要があります。

  1. ダウンローダ プログラムは同じロジックを使用してインターネットからファイルをダウンロードしますか? つまり、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を読みましたが、1 秒あたりのダウンロード速度ではなく、合計ダウンロード時間と速度がカウントされます。上記のコードは 1 秒あたりのダウンロード速度を示していますが、それが正しい方法かどうかはわかりません。

  3. また、このフォーラムのどこかで、バッファーを [1024] から [2048] または [4096] に増やすとダウンロード速度が上がると読みましたが、本当ですか? 速度 200kb++ を取得するにはどうすればよいですか? IDMは私のためにこれを行うことができました.

前もって感謝します :)

4

0 に答える 0