将图像添加到ArrayList <bufferedimage>时的Nullpointerexception

时间:2016-05-30 04:51:05

标签: java image nullpointerexception bufferedimage

我正在尝试将图片加载到BufferedImage变量中并将其存储在ArrayListArrayList<BufferedImage> imgList)中。

public void loadImage(){
    try {
        String fileLoc = getClass().getResource("tile_unsearched.jpg").getPath();

        fileLoc = URLDecoder.decode(fileLoc,"UTF-8");

        File aFile = new File(fileLoc);

        img = ImageIO.read(aFile);

        imgList.add(img);
    } catch (IOException e) {
        System.out.println(e);
    } 
} 

但是我一直收到这个错误:

Exception in thread "main" java.lang.NullPointerException
   at MainGameGUI.loadImage(MainGameGUI.java:96)
   at MainGameGUI.<init>(MainGameGUI.java:56)
   at MainDriver.main(MainDriver.java:22)

路径是正确的,因为当我打印它时,它以/C:/Users/HenBradley/workspace/HH2/bin/sector_a.jpg出现,这是准确的。所以我无法想象我的对象会为空,考虑到路径是正确的,我不知道为什么会这样。

关于我哪里出错的任何线索?

此处还有imgimgList声明:

private ArrayList<BufferedImage> imgList;
private BufferedImage img = null;

1 个答案:

答案 0 :(得分:1)

nullprivate ArrayList<BufferedImage> imgList; 。变化

private List<BufferedImage> imgList = new ArrayList<>();

类似

-