こんにちは、ダウンロード ツールに取り組んでいますが、ダウンロード速度が遅すぎることがわかりました。ダウンロード速度が遅いように見えることを確認しました。私のコードは次のとおりです。
float fileSize = Float.parseFloat(uc.getHeaderField("Content-Length"));
in = new BufferedInputStream(uc.getInputStream());
System.out.println("File size : " + fileSize);
fout = new FileOutputStream(settingsForm.downloadDirectoryText.getText() + File.separatorChar + fileName);
int BUFFER_SIZE = 10240;
byte data[] = new byte[BUFFER_SIZE];
int count = 0;
int totalDownloaded = 0;
long downloadStartTime = System.currentTimeMillis();
long remainingTime = 0;
while ((count = in.read(data, 0, BUFFER_SIZE)) != -1) {
totalDownloaded += count;
long elapsedTime = System.currentTimeMillis() - downloadStartTime;
float speedInBytes = 1000f * totalDownloaded / elapsedTime;
float tmpSpeed = speedInBytes;
if (tmpSpeed > 1024) {
tmpSpeed = tmpSpeed / 1024;
}
if (tmpSpeed > 1024 * 1024) {
tmpSpeed = tmpSpeed / (1024 * 1024);
}
System.out.println("Speed : " + tmpSpeed);
System.out.println("Remaining Time : " + (fileSize - totalDownloaded) / speedInBytes + " seconds");
int downloadPercentage = (int) ((totalDownloaded / fileSize) * 100);
fout.write(data, 0, count);
}
ダウンロードには 90 秒かかり、平均ダウンロード速度は 60 ~ 70kbps でした。
同じファイルを 10 秒以内にダウンロードするFree Download Managerへのダウンロード リンクを提供しました。400kpbs 以上のダウンロード速度で同じファイルをダウンロードできます。
そんなに速くダウンロードできないのはなぜですか?
私のコードに何か問題がありますか?
前もって感謝します。