在提供图片上传的接口时,我们可能会需要知道上传来的图片是什么格式,比如 jpg,png,gif等等。图片的格式信息会存放到图片文件的头信息中,Java提供了ImageIO类来处理图片,代码片段如下:

public static void main(String[] args) throws IOException {
    File imageFile = new File("foo.jpg");
    try (ImageInputStream imageInputStream = ImageIO.createImageInputStream(imageFile)) {
        Iterator<ImageReader> imageReadersList = ImageIO.getImageReaders(imageInputStream);

        if (!imageReadersList.hasNext()) {
            throw new RuntimeException("Cannot detect image format.");
        }

        ImageReader reader = imageReadersList.next();
        System.out.println("Image format:" + reader.getFormatName());
    }
}