1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/silently9527-fast-download

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Введение

Данный проект в основном реализован на Java и позволяет осуществлять многопоточную загрузку больших файлов, а также преодолевать ограничения скорости облачных дисков.

Использование

1. Загрузка небольших файлов

Для загрузки небольших файлов можно сначала загрузить их в память, а затем вывести в файл.

FileDownloader fileDownloader = new FileDownloader();
String fileURL = "http://img.doutula.com/production/uploads/image/2017/10/19/20171019627498_uQtkcl.jpg";
fileDownloader.downloadToMemory(fileURL, "/Users/huaan9527/Desktop/71019627498_uQtkcl.jpg");

2. Однопоточная загрузка больших файлов

FileDownloader fileDownloader = new FileDownloader();
String fileURL = "http://img.doutula.com/production/uploads/image/2017/10/19/20171019627498_uQtkcl.jpg";
fileDownloader.downloadFile(fileURL, "/Users/huaan9527/Desktop/71019627498_uQtkcl.jpg");

3. Многопоточная загрузка больших файлов

FileDownloader fileDownloader = new FileDownloader();
String fileURL = "http://img.doutula.com/production/uploads/image/2017/10/19/20171019627498_uQtkcl.jpg";
fileDownloader.multiThreadDownload(fileURL, "/Users/huaan9527/Desktop/71019627498_uQtkcl.jpg");

Результаты тестирования

Тестирование скорости загрузки файла размером 46 Мбайт с облачного диска Baidu показало, что максимальная скорость загрузки на локальном компьютере составляет 2 Мбайт/с.

1. Однопоточная загрузка

Общее время: 603 секунды.

2. Многопоточная загрузка

Облачный диск ограничивает скорость однопоточной загрузки до 100 кбит/с. Для более эффективного использования скорости интернета были проведены тесты с различным количеством потоков.

Количество потоков Общее время загрузки
10 60 секунд
20 30 секунд
30 21 секунда
40 15 секунд
50 13 секунд

Учитывая максимальную скорость загрузки 2 Мбит/с, рекомендуется использовать 30 потоков для оптимальной скорости загрузки.

Обратите внимание: адреса для скачивания с облачных дисков, полученные через браузер, необходимо декодировать с помощью URLDecode. Кроме того, ссылки для скачивания могут быть ограничены по времени.

Этот проект предназначен исключительно для обучения.


На основе этого проекта был разработан плагин IDEA.

  1. Github: https://github.com/silently9527/FastDownloadIdeaPlugin.
  2. Gitee: https://gitee.com/silently9527/FastDownloadIdeaPlugin.

Не забудьте поставить звёздочку!

Публичный аккаунт WeChat

Публичный аккаунт

Мой технический блог

https://silently9527.cn/

Пожертвования на разработку

Если вы считаете, что этот проект помог вам в вашей работе, вы можете поддержать меня чашкой кофе (я верю, что это имеет больше смысла, чем пожертвования стримерам).

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Многопоточный загрузчик, реализованный на Java, позволяет обойти ограничение скорости загрузки; надеемся, что друзья-программисты слегка махнут рукой, и в правом верхнем углу появится звезда, спасибо 1024. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/silently9527-fast-download.git
git@api.gitlife.ru:oschina-mirror/silently9527-fast-download.git
oschina-mirror
silently9527-fast-download
silently9527-fast-download
master