我使用javax.imageio.ImageIO读图片文件的时候遇到奇怪的问题,详见代码。
public static void main(String[] args) {
String x = String.format("%s","a");//这里注释就不会出问题,或者移到最后也没事,不知道为什么会影响到后面读写图片。
File file = new File("/image2/card2023/images/1/586289502218227712/1697608167928/1.png");
try {
BufferedImage img = ImageIO.read(file);
System.out.println(img.getWidth());
} catch (IOException e) {
throw new RuntimeException(e);
}
String y = String.format("%s","a");//这句代码不会有问题。
}
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
at sun.awt.image.ByteInterleavedRaster.setDataElements(ByteInterleavedRaster.java:546)
at com.twelvemonkeys.imageio.plugins.webp.lossless.VP8LDecoder.decodeBwRef(VP8LDecoder.java:307)
at com.twelvemonkeys.imageio.plugins.webp.lossless.VP8LDecoder.decodeImage(VP8LDecoder.java:223)
at com.twelvemonkeys.imageio.plugins.webp.lossless.VP8LDecoder.readVP8Lossless(VP8LDecoder.java:131)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.readVP8Lossless(WebPImageReader.java:644)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.readAlpha(WebPImageReader.java:540)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.readVP8Extended(WebPImageReader.java:480)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.readVP8Extended(WebPImageReader.java:463)
at com.twelvemonkeys.imageio.plugins.webp.WebPImageReader.read(WebPImageReader.java:441)
at javax.imageio.ImageIO.read(ImageIO.java:1448)
at javax.imageio.ImageIO.read(ImageIO.java:1308)