Java Image IO provides pluggable architecture for accessing images transparently.
It is simple, flexible and allows us to plugin various image readers and writers with ease.
The following example shows getting supported image file suffixes, format names and mime types.
//file suffixes associated with the formats understood
//by the current set of registered readers.
System.out.println(Arrays.toString(ImageIO.getReaderFileSuffixes()));
//file suffixes associated with the formats understood
//by the current set of registered writers.
System.out.println(Arrays.toString(ImageIO.getWriterFileSuffixes()));
//Format names understood by the current set of registered readers.
System.out.println(Arrays.toString(ImageIO.getReaderFormatNames()));
//Format names understood by the current set of registered writers.
System.out.println(Arrays.toString(ImageIO.getWriterFormatNames()));
//MIME types understood by the current set of registered readers.
System.out.println(Arrays.toString(ImageIO.getReaderMIMETypes()));
//MIME types understood by the current set of registered writers.
System.out.println(Arrays.toString(ImageIO.getWriterMIMETypes()));
}