que haría uso del bucle, en lugar de importar nueva clases, o agregando bibliotecas a mi proyecto. La función de la biblioteca probablemente también se implemente con un bucle. Pero ese es solo mi gusto personal.
Sin embargo, mi pregunta para usted: ¿qué está tratando de hacer? Piense en la "gran imagen", si quiere poner todo el contenido de un archivo en una matriz de bytes, ¿por qué no hacer eso? El tamaño de la matriz es file.length(), y no la necesita para crecer dinámicamente, oculta detrás de ByteArrayOutputStream (a menos que su archivo sea compartido y su contenido pueda cambiar mientras lo lee).
Otra alternativa: ¿podría usar un FileChannel y un ByteBuffer (java.nio)?
posible duplicado de [forma sencilla de escribir contenido de una aplicación Java InputStream a un OutputStream] (http://stackoverflow.com/questions/43157/easy-way-to-write-contents-of-a-java-insputstream-to-an-outputstream) – rds