Я написал простой Java Downloader, и у меня есть некоторые проблемы со скоростью.
Сначала скорость в порядке - так же, как когда я загружаю этот файл из своего браузера.Но через некоторое время скорость сильно уменьшается и меняется каждые две секунды - с 42 КБ / с до 64 КБ / с и с 64 КБ / с до 42 КБ / с.
Мой код:
InputStream is = null;
FileOutputStream os = null;
os = new FileOutputStream(...);
URL u = new URL(...);
URLConnection uc = u.openConnection();
is = uc.getInputStream();
final byte[] buf = new byte[1024];
for(int count = is.read(buf);count != -1;count = is.read(buf)) {
os.write(buf, 0, count);
}
Что я должен сделать, чтобы максимизировать скорость загрузки?
ОБНОВЛЕНИЕ
Размеры файлов варьируются от 1 до 100 МБ.Я увеличил буфер до 65536, чтобы он был таким же.
Об измерении: я проверяю каждые 3 секунды, сколько байтов было записано, а затем делю его на 3 и на 1024 - это дает мне кб / с