Can we convert a byte array into an InputStream in Java?

rover12 picture rover12 · Nov 26, 2009 · Viewed 133.2k times · Source

Can we convert a byte array into an InputStream in Java? I have been looking on the internet but couldn't find it.

I have a method that has an InputStream as argument.

The InputStream cph I have is base64 encoded so I had to decode it using

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);

Now how do I convert decodedBytes again to InputStream?

Answer

Daniel Rikowski picture Daniel Rikowski · Nov 26, 2009

Use ByteArrayInputStream:

InputStream is = new ByteArrayInputStream(decodedBytes);