ImageIO is able to handle most JPEG files but does not fully implement the spec. If you want more complete JPEG support, JDeli has been built up to provide this.
How to read a JPEG image in Java with ImageIO
- Create a File, InputStream or URL Object pointing to the JPEG.
- Pass the value into ImageIO which will convert to a BufferedImage.
BufferedImage image = ImageIO.read(jpegFileOrInputStreamOrURL)
How to read a JPEG image in Java with JDeli
- Add JDeli to your class or module path (download the trial jar).
- Create a File handle, InputStream pointing to the raw JPEG image. You can also use a byte containing the image data.
- Read the JPEG image into a BufferedImage
BufferedImage image = JDeli.read(jpegFileOrInputStreamOrByte);
Start reading and writing images with one line of code
BufferedImage image = JDeli.read(streamOrFile);
JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile)