Java provides ImageIO class for reading and writing an image. To convert a byte array to an image.
Create a ByteArrayInputStream object by passing the byte array (that is to be converted) to its constructor.
Read the image using the read() method of the ImageIO class (by passing the ByteArrayInputStream objects to it as a parameter).
Finally, Write the image to using the write() method of the ImageIo class.
import java.io.ByteArrayOutputStream; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class ByteArrayToImage { public static void main(String args[]) throws Exception { BufferedImage bImage = ImageIO.read(new File("sample.jpg")); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageIO.write(bImage, "jpg", bos ); byte [] data = bos.toByteArray(); ByteArrayInputStream bis = new ByteArrayInputStream(data); BufferedImage bImage2 = ImageIO.read(bis); ImageIO.write(bImage2, "jpg", new File("output.jpg") ); System.out.println("image created"); } }
image created