我正在尝试读取 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();
}
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
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)
Run Code Online (Sandbox Code Playgroud)
仅此图像出现此异常:http://s4.postimg.org/h1c72546l/invalid_icc_profile.jpg
我测试了JDK 7和8,都有错误。您对如何阅读图像有什么建议吗?可以调整icc配置文件吗?