Когда я хочу написать полное содержимое файла в OutputStream, я обычно выделяю буфер как byte[], а затем создаю цикл for для read данных из файла InputStream в буфера и записать содержимое буфера в OutputStream, пока InputStream не будет иметь больше байтов.
Это кажется довольно неуклюжим для меня. Есть ли лучший способ сделать это?
Кроме того, я всегда не уверен в размере буфера. Обычно я выделяю 1024 байта, потому что он просто чувствует себя хорошо. Есть ли лучший способ определить разумный размер буфера?
В моем текущем случае я хочу скопировать полное содержимое файла в выходной поток, который записывает содержимое ответа HTTP. Итак, это не вопрос о том, как копировать файлы в файловой системе.