Determining the Format of an Image in a File : ImageIO « 2D Graphics « Java Tutorial






import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;

import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;

public class Main {
  public static void main(String[] argv) throws Exception {
    File file = new File("image.gif");
    System.out.println(getFormatName(file));

    InputStream is = new FileInputStream(file);
    is.close();
    System.out.println(getFormatName(is));
  }
  private static String getFormatName(Object o) {
    try {
      ImageInputStream iis = ImageIO.createImageInputStream(o);
      Iterator iter = ImageIO.getImageReaders(iis);
      if (!iter.hasNext()) {
        return null;
      }
      ImageReader reader = (ImageReader) iter.next();
      iis.close();

      return reader.getFormatName();
    } catch (IOException e) {
    }
    return null;
  }
}








16.33.ImageIO
16.33.1.Use Image.IO to read an image file and display it
16.33.2.Load an Image from a JAR file
16.33.3.Use the getResourceAsStream method
16.33.4.Show ImageIO Info
16.33.5.Add Image IO Read Progress Listener to ImageReader
16.33.6.Get list of unique supported write formats
16.33.7.Get list of unique MIME types that can be read
16.33.8.Get list of unique MIME types that can be written
16.33.9.Get list of unique supported read formats
16.33.10.Returns true if the specified format name can be read
16.33.11.Returns true if the specified format name can be written
16.33.12.Returns true if the specified file extension can be read
16.33.13.Returns true if the specified file extension can be written
16.33.14.Returns true if the specified mime type can be read
16.33.15.Returns true if the specified mime type can be written
16.33.16.Determining the Format of an Image in a File
16.33.17.Detect image type
16.33.18.Read an Image from a file
16.33.19.Read an Image from inputStream
16.33.20.Read an Image from URL
16.33.21.Write Image with different types
16.33.22.Load the image file from a folder or a jar file: use javax.imageio.ImageIO class to read the image file
16.33.23.Detect the file type of the input stream prior to reading the image
16.33.24.Compress and save an image to the disk
16.33.25.Resizes an image
16.33.26.Creates an image compatible with the current display