如何在Java中将图像转换为字节数组?

Java提供了ImageIO类来读取和写入图像。要将图像转换为字节数组–

  • 使用read()ImageIO类的方法读取图像。

  • 创建一个ByteArrayOutputStream对象。

  • 使用write()ImageIO类的方法将图像写入上面创建的ByteArrayOutputStream对象。

  • 最后使用该toByteArray()方法将ByteArrayOutputStream的内容转换为字节数组。

示例

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