【发布时间】:2014-04-11 04:02:29
【问题描述】:
我可以读取 png 文件。但是在读取 gif 文件时得到 ArrayIndexOutOfBoundsException: 4096。
byte[] fileData = imageFile.getFileData();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(fileData);
RenderedImage image = ImageIO.read(byteArrayInputStream)
抛出的异常看起来像
java.lang.ArrayIndexOutOfBoundsException: 4096
at com.sun.imageio.plugins.gif.GIFImageReader.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
可能是什么问题,解决方法是什么?
【问题讨论】:
-
您尝试阅读的每个 gif 是否都会发生这种情况,还是仅特定的 gif 会发生这种情况
-
这几乎发生在我所有的 gif 中。
-
你能提供其中一个 GIF 吗?
-
您可能有损坏的
.gif文件(例如太短/尚未完全传输左右)或ImageIO无法理解的 gif 类型。 -
这显然是内部 GIFImageReader 的错误,从未得到修复。
标签: java gif javax.imageio