Search code examples
javaiobytearrayoutputstream

BufferedOutputStream vs ByteArrayOutputStream


Is there any advantage in wrapping a BufferedOutputStream around a ByteArrayOutputStream instead of just using the ByteArrrayOutputStream by itself?


Solution

  • Generally BufferedOutputStream wrapper is mostly used to avoid frequent disk or network writes. It can be much more expensive to separately write a lot of small pieces than make several rather large operations. The ByteArrayOutputStream operates in memory, so I think the wrapping is pointless.

    If you want to know the exact answer, try to create a simple performance-measuring application.