How to convert Image to Byte Array in java?


Java provides ImageIO class for reading and writing an image. To convert an image to a byte array –

  • Read the image using the read() method of the ImageIO class.
  • Create a ByteArrayOutputStream object.
  • Write the image to the ByteArrayOutputStream object created above using the write() method of the ImageIO class.
  • Finally convert the contents of the ByteArrayOutputStream to a byte array using the toByteArray() method.

Example

import java.io.ByteArrayOutputStream;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageToByteArray {
   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();
   }
}

Updated on: 30-Jul-2019

16K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements