了解gif是否为JAVA动画

了解gif是否为JAVA动画,java,java-7,Java,Java 7,我有一个gif图像,我希望能够检测gif是否是动画gif,是否使用JAVA。这个问题是关于检测而不是显示gif 我发现动画gif的MIME类型与静态gif没有什么不同 我怎么做?你需要一个图像阅读器。如果大小为1,则其未设置动画,则上面的所有内容都已设置动画。 看看这个: public Snippet() { File f = new File("test.gif"); ImageReader is = ImageIO.getImageReadersBySuffi

我有一个gif图像,我希望能够检测gif是否是动画gif,是否使用JAVA。这个问题是关于检测而不是显示gif

我发现动画gif的MIME类型与静态gif没有什么不同


我怎么做?

你需要一个图像阅读器。如果大小为1,则其未设置动画,则上面的所有内容都已设置动画。 看看这个:

public Snippet() {
        File f = new File("test.gif");
        ImageReader is = ImageIO.getImageReadersBySuffix("GIF").next();  
        ImageInputStream iis;
        try {
            iis = ImageIO.createImageInputStream(f);
            is.setInput(iis);  
            int images= is.getNumImages(true);
        } catch (IOException e) {
            e.printStackTrace();
        }  
}

可能重复:您应该能够手动解析文件头。看一看。@BKNOPER不是重复的,因为这个问题不是关于显示,而是关于检测动画GIF。@BKNOPER:Robin Krahl是对的,我不想显示它,我想检测它,在问这个问题之前,我看到了你提到的另一个问题,但没有帮助。好的,这个问题有点含糊不清:P我建议进行编辑。我只建议关闭
finally
块中的流,以增加答案的完整性。或者这样做:
尝试(ImageInputStream iis=ImageIO.createImageInputStream(f){
当使用Java>6时