Как заставить HttpClient сообщать о ходе загрузки? Например, может ли он вызывать обратный вызов каждый X байт после завершения загрузки?
Код загрузки выглядит следующим образом:
Код: Выделить всё
HttpClient client = HttpClient.newBuilder()
.followRedirects(Redirect.NORMAL)
.connectTimeout(Duration.ofSeconds(20))
.build();
HttpRequest request = HttpRequest.newBuilder().uri(
new URI("https://example.com/large-file")).build();
// The program blocks here until the download is finished
HttpResponse
response = client.send(request, BodyHandlers.ofFileDownload(
Path.of("."), StandardOpenOption.WRITE, StandardOpenOption.CREATE));
Чтобы помочь с этим, я хотел бы помочь, пока происходит загрузка, укажите пользователю, какая часть файла была загружена и что загрузка продолжается. Например, печатая точку в терминале после завершения 1 МБ данных или регулярно обновляя индикатор выполнения в графическом интерфейсе.
Как я могу сделать это с помощью HttpClient?
Подробнее здесь: https://stackoverflow.com/questions/772 ... httpclient
Мобильная версия