javax.imageio.IIOException:无效的icc配置文件:重复的序列号

javax.imageio.IIOException:无效的icc配置文件:重复的序列号,java,jpeg,javax.imageio,image-loading,Java,Jpeg,Javax.imageio,Image Loading,我正在尝试读取JPEG文件,但尝试此操作时: InputStream input = new URL("http://s4.postimg.org/h1c72546l/invalid_icc_profile.jpg").openStream(); try { ImageIO.read(input); System.out.println("Image loaded."); } catch (Throwable e) { e.

我正在尝试读取JPEG文件,但尝试此操作时:

    InputStream input = new URL("http://s4.postimg.org/h1c72546l/invalid_icc_profile.jpg").openStream();
    try {
        ImageIO.read(input);
        System.out.println("Image loaded.");
    } catch (Throwable e) {
        e.printStackTrace();            
    } finally {
        input.close();
    }   
我收到以下例外情况:

javax.imageio.IIOException: Invalid icc profile: duplicate sequence numbers
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(JPEGImageReader.java:604)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:342)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:476)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:597)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1054)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1034)
at javax.imageio.ImageIO.read(ImageIO.java:1448)
at javax.imageio.ImageIO.read(ImageIO.java:1352)
此异常仅在此图像中发生:

我测试了JDK 7和JDK 8,两者都有错误。
你对我如何阅读图片有什么建议吗?可以调整icc配置文件吗?

正如错误消息所示,JPEG文件中的
icc\u配置文件
段包含重复的序列号。这意味着编写它的软件在某种程度上被破坏了。然而,图像数据仍然应该是可读的,即使颜色看起来可能不完全像它们应该的那样

由于JFIF(JPEG文件交换格式)具有有限的段大小,大型ICC配置文件必须拆分为多个段。该规范规定,ICC配置文件应存储在多个
APP2
段中,并且每个段必须以空终止字符串
ICC_配置文件
开头,后跟一个无符号字节序列号和总计数

My能够读取您的图像,即使ICC配置文件段中断。它将发出警告(如果您注册了
iOreAdWarningListener
),告诉您ICC配置文件将被忽略。我已经测试过了,它可以很好地处理你的JPEG文件。您不需要更改任何代码,只需添加所需的依赖项(从上面的链接)就可以了

你可以下载最新的



如果您知道自己在做什么,还可以使用十六进制编辑器修复配置文件的索引/计数。:-)但根据经验,这些图像的配置文件可能与图像的颜色数据不匹配,因此您可能运气不好。

我用各种JPEG文件测试了您的插件,效果很好。为了解决我的问题,我将使用你的插件。谢谢