У меня есть следующий код, который преобразует изображение в byte []:
BufferedImage image = ImageIO.read(new File("Path/To/Custom/image.jpg"));
ByteArrayOutputStream baos=new ByteArrayOutputStream(1000);
ImageIO.write(image, "jpg", baos);
byte[] imageBytes = baos.toByteArray();
Этот код работает совершенно нормально, по крайней мере, я получаю массив байтов, содержащий разные значения. Но теперь наступает трудная часть: байт [] должен быть снова преобразован в образ. Следующий код не работает, ImageIO.read(...)
возвращает null. Я прочитал документацию, но все еще не могу понять, что нужно изменить, чтобы код работал так, как я хочу.
ByteArrayInputStream ba = new ByteArrayInputStream(imageBytes);
BufferedImage image = ImageIO.read(ba);
//image is always null, no matter what the stream or the byte values are.