情况如下:
求大佬帮忙解答一下
1.确定图片文件存在
2.确定图片文件未被占用
3.图片文件路径改成英文(不要有中文和空格)
挨个儿试试看可以不可以?
都符合你说的,但是我把编码类型全部统一换成GBK以后就可以运行了,不知道为什么
@五号位:
public class Main {
public static void main(String[] args) throws IOException {
BufferedImage bufferedImage = ImageIO.read(new File("C:\\Users\\Shane\\Desktop\\新建 文件夹\\1.png"));
System.out.println(bufferedImage);
}
}
我试了一下,不管路径是怎样的,都可以正常输出
BufferedImage@4769b07b: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = java.awt.color.ICC_ColorSpace@cc34f4d transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: width = 538 height = 330 #numDataElements 3 dataOff[0] = 2
只有一种情况会报这个错误
就是在路径中包含中文的时候,Java源文件进行编码转换以后,再次执行,就报这个错误;
此时把编译生成的class文件删除,重新编译,就又可以了
@五号位:
关键就是下图的代码返回了false
再往下就是native方法了
估摸着是发生了IO异常
@飒沓流星: 嗯嗯是这样,是我路径的问题,谢谢大佬👍
@五号位:
客气客气