@Vlad161

Докачка файла, метод write

Делаю клиент-серверное приложение, скачка файла с сервера на клиент. Нужно осуществить докачку файла. То есть например файл 50мб, скачалось 20 и оборвалась, при следуещей скачке этого файла он докачивал оставшиеся 30мб, а не качал файл заново.
Зайдя в офф документацию увидел вот что
public abstract void write(char[] cbuf, int off, int len)

При том, что off - Offset from which to start writing characters, , то есть off - это int число откуда начинать качать файл. Я попробовал сделать так: Проверить если на на клиенте такой файл, передаем значение на сервер, а он в свою очередь начинает докачивать файл, то есть передавать отсутствующее. Выглядит вот так
os.write(mybytearray, (int) clientFileSize, n); //server
bos.write(mybytearray, (int) clientFileSize, bytesRead); //client


Так вот вопрос, как такое решение? Будет ли оно работать корректно, и при подключении докачивать файл, или каждый раз в цикле while будет записываться одно и тоже? Быстро проверил, докачка вроде бы идет, полный тест пока не проводил.
  • Вопрос задан
  • 2642 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Пойдет. Только учитывать, что len = fileSize - clientFileSize.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
22 мая 2024, в 02:15
10000 руб./за проект
21 мая 2024, в 23:47
30000 руб./за проект