Есть ли лучший способ записать полное содержимое файла в OutputStream?

Когда я хочу записать полное содержимое файла в OutputStream , я обычно выделяю буфер как байт [] , затем сделайте цикл for , чтобы прочитать данные из InputStream файла в буфер и записать содержимое буфера в OutputStream , пока InputStream больше не имеет доступных байтов

Мне это кажется довольно неуклюжим. Есть ли лучший способ сделать это?

Кроме того, я всегда не уверен в размере буфера. Обычно я выделяю 1024 байта, потому что это удобно. Есть ли лучший способ определить разумный размер буфера?

В моем текущем случае Я хочу скопировать все содержимое файла в выходной поток, который записывает содержимое HTTP-ответа. Итак, это не вопрос о том, как копировать файлы в файловую систему.

19
задан Madoc 19 January 2011 в 22:14
поделиться