ImageIO无法读取输入文件

时间:2012-10-29 23:09:10

标签: java eclipse javax.imageio

public static void imRes(String pat) {
        try {
            BufferedImage bckimg = ImageIO.read(new File("c:/s/deneme.jpg"));
            File s = new File(pat);
            BufferedImage im = ImageIO.read(s);
            BufferedImage im1 = resIm(im);
            BufferedImage finIm = mergIm(im1, bckimg);
            ImageIO.write(finIm, "jpg", new File("c:/s/deneme1.jpg"));
        } catch (IOException e) {

            e.printStackTrace();
        }

这是我的第一篇文章,如果我做错了,请原谅。此代码正常运行,直到我尝试从源包中读取图像。但现在它无法读取任何图像。我究竟做错了什么?或者它是关于日食的东西吗?

例外:

javax.imageio.IIOException: Can't read input file!
    at javax.imageio.ImageIO.read(Unknown Source)
    at imRe.imRes(imRe.java:12)
    at imReTest.main(imReTest.java:6)

...谢谢

1 个答案:

答案 0 :(得分:14)

如果您使用的是Windows,请更改/的{​​{1}}。

更多跨平台的方法将是替代

\的{​​p> C:File.listRoots()[0]的每个/

详细了解File api documentation

修改

(我没看过这行,对不起)

  

此代码正常运行,直到我尝试从源包中读取图像

为了从jar包中获取文件,必须使用File.separator方法。

示例:

getClass().getResource()

对于上述目录结构:

application-package:
|-Main.java
|-resources
  |-image.jpg

会做的伎俩。