Поиском по форуму, были похожие темы с кодом.
Создать несколько потоков, каждый поток закачивает свою часть файла (процес гугления можно начать c
wiki). Толк может быть, если сервер ограничивает скорость на соединение, тогда можно повысить скорость скачивания файла.
Сервер может не поддерживать такой метод скачивания или банить за скачивания в несколько потоков.
Сохранение можно организовать так.
Создаем файл на диске размером как скачиваемый. Каждый поток знает смещение от начала файла куда ему следует сохранять данные. Блоками сохраняем данные в файл, согласно смещению.