首页 新闻 会员 周边

IDEA代码报错:Can't read input file!如何解决

0
[已解决问题] 解决于 2022-07-05 09:26

情况如下:


求大佬帮忙解答一下

五号位的主页 五号位 | 初学一级 | 园豆:173
提问于:2022-07-04 16:09
< >
分享
最佳答案
1

1.确定图片文件存在
2.确定图片文件未被占用
3.图片文件路径改成英文(不要有中文和空格)
挨个儿试试看可以不可以?

奖励园豆:5
飒沓流星 | 小虾三级 |园豆:1099 | 2022-07-04 19:58

都符合你说的,但是我把编码类型全部统一换成GBK以后就可以运行了,不知道为什么

五号位 | 园豆:173 (初学一级) | 2022-07-04 20:16

@五号位:

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文件删除,重新编译,就又可以了

飒沓流星 | 园豆:1099 (小虾三级) | 2022-07-04 21:00

@五号位:

关键就是下图的代码返回了false

再往下就是native方法了

估摸着是发生了IO异常

飒沓流星 | 园豆:1099 (小虾三级) | 2022-07-04 21:04

@飒沓流星: 嗯嗯是这样,是我路径的问题,谢谢大佬👍

五号位 | 园豆:173 (初学一级) | 2022-07-04 22:06

@五号位:
客气客气

飒沓流星 | 园豆:1099 (小虾三级) | 2022-07-04 22:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册