Делаю клиент-серверное приложение, скачка файла с сервера на клиент. Нужно осуществить докачку файла. То есть например файл 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 будет записываться одно и тоже? Быстро проверил, докачка вроде бы идет, полный тест пока не проводил.