Внутренне это создает ByteArrayOutputStream и копирует байты в выходные данные, затем вызывает toByteArray(). Он обрабатывает большие файлы, копируя байты блоками по 4 КБ.
Ответ 2
Вам нужно прочитать каждый байт из вашего InputStream и записать его в ByteArrayOutputStream.
Затем вы можете извлечь базовый массив байтов, вызвав toByteArray():