Image.IO无法读取输入文件 - Java

时间:2013-02-22 10:45:34

标签: java nullpointerexception bufferedimage javax.imageio

嘿,我目前正在尝试将图像的字节内容读入java中的字节数组,但似乎无法打开文件中的图像。控制台抛出了这个异常:

 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

这就是问题所在:

BufferedImage im =
   ImageIO.read(
      new File(
         getClass().getResource( "/Images/default_pic.png" ).toURI()));

我的包看起来像这样:

-UI
  -Class //code getting image here
-UI.Images
  -default_pic.png

3 个答案:

答案 0 :(得分:2)

您的路径中缺少目录UI,我建议:

BufferedImage im =
   ImageIO.read(
      getClass().getClassLoader().getResourceAsStream(
         "/UI/Images/default_pic.png" ));

答案 1 :(得分:1)

你可以试试这个:

BufferedImage im = ImageIO.read(getClass().getClassLoader().getResourceAsStream("/Images/default_pic.png"))

答案 2 :(得分:0)

检查文件是否使用CMYK着色(不知道这是否仅适用于jpegs)。如果是这种情况,那么ImageIO无法在没有扩展名的情况下阅读它。

检查http://www.randelshofer.ch/blog/2011/08/reading-cmyk-jpeg-images-with-java-imageio/