Как конвертировать BufferedImage в byte[]в Java?

Как преобразовать BufferedImage в byte [] в Java?

Часто вам необходимо преобразовать BufferedImage в байтовый массив, чтобы сохранить изображение в базе данных или для какой-либо другой цели. Некоторое преобразование требуется следующим образом:

BufferedImage originalImage = ImageIO.read(new File("c:\\image\\mypic.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( originalImage, "jpg", baos );
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();

пример

Этот класс загрузит изображение из «c: \ image \ mypic.jpg», использует ImageIO.write для записи BufferedImage в объект ByteArrayOutputStream и преобразования его в массив байтов.

import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

/*
 * @author example
 *
 */
public class ImageTest {

   public static void main(String [] args){

   try{

    BufferedImage originalImage =
                              ImageIO.read(new File("c:\\image\\mypic.jpg"));

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write( originalImage, "jpg", baos );
    baos.flush();
    byte[] imageInByte = baos.toByteArray();
    baos.close();

    }catch(IOException e){
        System.out.println(e.getMessage());
    }
   }
}