Скачать файл через HTTP с неизвестной длиной с Java

Я хочу скачать HTTP-запрос с помощью Java, но загружаемый файл имеет неопределенную длину при загрузке.

Я думал, что это будет вполне стандартно, поэтому я искал и нашел фрагмент кода для него:http://snipplr.com/view/33805/

Но у него есть проблема с переменной contentLength. Поскольку длина неизвестна, я получаю -1 обратно. Это создает ошибку. Когда я опускаю всю проверку для contentLength, это означает, что я всегда должен использовать максимальный буфер.

Но проблема в том, что файл еще не готов. Таким образом, очистка заполняется только частично, а части файла теряются.

Если вы попытаетесь загрузить ссылку, какhttp://overpass-api.de/api/interpreter?data=area%5Bname%3D%22Hoogstade%22%5D%3B%0A%28%0A++node%28area%29%3B%0A++%3C%3B % 0A% 29 +% 3B% 0Aout + Meta + кварты% 3B с этим фрагментом вы заметите ошибку, и когда вы всегда загружаете максимальный буфер, чтобы пропустить ошибку, вы получаете поврежденный файл XML.

Есть ли способ загрузить только готовую часть файла? Я хотел бы, если бы это могло загрузить большие файлы (до нескольких ГБ).

Ответы на вопрос(1)

Ваш ответ на вопрос