我得到一个InputStream
输入,我想读这个InputStream
。
我创建一个
BufferedImage image = null;
我读到ImageIO
:
read image = ImageIO.read(input);
此代码适用于 JPEG 和 JPG 文件,但对于 PNG 文件,我有此错误:
javax.imageio.IIOException: Error reading PNG image data at
com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1308)
at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1577)
at javax.imageio.ImageIO.read(ImageIO.java:1448) at
javax.imageio.ImageIO.read(ImageIO.java:1352) at
org.projectsforge.swap.proxy.simulation.DichromacyImageSimulation.handle(DichromacyImageSimulation.java:64)
at org.projectsforge.swap.proxy.proxy.ProxyServlet$1.execute(ProxyServlet.java:150)
at org.projectsforge.swap.proxy.proxy.ProxyServlet$1.execute(ProxyServlet.java:1)
at org.projectsforge.swap.core.handlers.HandlerExecutorManager.execute(HandlerExecutorManager.java:72)
at org.projectsforge.swap.core.handlers.HandlerContext$1.run(HandlerContext.java:175)
Caused by: java.util.zip.ZipException: invalid distance too far back
at
java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at java.io.DataInputStream.readFully(DataInputStream.java:195)
at com.sun.imageio.plugins.png.PNGImageReader.decodePass(PNGImageReader.java:1092)
at com.sun.imageio.plugins.png.PNGImageReader.decodeImage(PNGImageReader.java:1207)
at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1301)
... 8 more
我不明白这个错误,特别是因为这个错误并不是每次都发生......