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