Задать вопрос
@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 будет записываться одно и тоже? Быстро проверил, докачка вроде бы идет, полный тест пока не проводил.
  • Вопрос задан
  • 2647 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Пойдет. Только учитывать, что len = fileSize - clientFileSize.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы