У меня есть класс HTTP Request Dispatcher, который работает большую часть времени, но я заметил, что он "зависает" при получении больших запросов. Изучив проблему, я подумал, что, возможно, я не выделяю достаточное количество байтов для буфера. Раньше я делал:
byte[] buffer = new byte[10000];
После изменения на 20000, похоже, он остановился:
String contentType = connection.getHeaderField("Content-type");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream responseData = connection.openInputStream();
byte[] buffer = new byte[20000];
int bytesRead = responseData.read(buffer);
while (bytesRead > 0) {
baos.write(buffer, 0, bytesRead);
bytesRead = responseData.read(buffer);
}
baos.close();
connection.close();
Я правильно делаю? В любом случае я могу динамически установить количество байтов для буфера в зависимости от размера запроса?
Спасибо ...