How to convert Byte Array to Image in java?



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.

Example

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"); } }

Output

image created

Updated on: 2019-07-30T22:30:20+05:30

20K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements