У меня есть HTTP-запрос, который получает файл с сервера, а затем загружает его на Java. Проблема в том, что файл, который я загружаю, на 2 байта больше, чем тот, который отправляется.Скачаемый файл большего размера, чем тот, который был отправлен
Вот как я пишу файл ответов.
InputStream input = connection.getInputStream();
byte[] buffer = new byte[128];
int n = - 1;
OutputStream output = new FileOutputStream(downloadsPath + formattedHeaders[0].toString());
while ((n = input.read(buffer)) != -1)
{
output.write(buffer, 0, n);
}
input.close();
output.close();
Я использую размер файла затем сравнить его с размером файла, отправленного в заголовке, чтобы увидеть, если у меня есть полный файл, загруженный. Размер сервера прекрасен и получает нужный размер и добавляет его в заголовки. Как-то, пока я пишу файл, он получает дополнительные 2 байта.
Можете ли вы проверить последние два байта из файла? Я думаю, что это разделитель многопрофильного форматирования HTTP или разделителя кодированных разделов. – Konrad
Также проверьте, есть ли в вашем файле специальные символы, которые кодируются по-разному в обоих (запрошенных и загруженных) файлах. – Habin
Хэш не имеет значения, так как размер файла изменяется при пересылке. (до того, как я сравню хэши). – user5581557