example java io bytearrayoutputstream

java - example - BufferedOutputStream vs ByteArrayOutputStream



bytearrayoutputstream to file (3)

¿Hay alguna ventaja al envolver un BufferedOutputStream alrededor de un ByteArrayOutputStream en lugar de solo usar ByteArrrayOutputStream por sí mismo?


Absolutamente ninguno. Aunque BufferedWriter y BufferedReader sí ofrecen una funcionalidad adicional si estuviera operando en cadenas.


En general, BufferedOutputStream wrapper se usa principalmente para evitar frecuentes grabaciones de disco o red. Puede ser mucho más costoso escribir por separado muchas piezas pequeñas que realizar varias operaciones bastante grandes. ByteArrayOutputStream funciona en memoria, por lo que creo que el ajuste no tiene sentido.

Si quiere saber la respuesta exacta, intente crear una aplicación simple para medir el rendimiento.


No se recomienda ByteArrayOutputStream si desea obtener un alto rendimiento, pero una característica interesante es enviar un mensaje con una longitud desconocida. Para una mejor comprensión sobre cómo funcionan estos dos métodos, vea http://java-performance.info/java-io-bytearrayoutputstream/ .