Java буферизованное изображение не загружается - PullRequest
1 голос
/ 11 августа 2011

У меня есть это изображение, которое я хочу загрузить, но оно всегда дает мне исключение input = null.Это первый бит кода:

Entity e = new Entity("images/meganium.png");

Вот часть, которая загружает изображение:

image = null;
    try{
        path = this.getClass().getResource(fileName);
        System.out.println(path);
        image = ImageIO.read(path);
    }catch(IOException e){
        System.out.println("Dun goofed in " + "SPrites");
    }

Структура выглядит следующим образом:

com/blah/bleh/Main
com/blah/bleh/images
com/blah/bleh/foo/bar/Loader Class

Трассировка стека:

java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1362)
at net.ofn.nyc.javagentleman.src.graphic.Sprite.<init>(Sprite.java:31)
at net.ofn.nyc.javagentleman.src.ent.Entity.<init>(Entity.java:21)
at net.ofn.nyc.javagentleman.JavaGentleman.<init>(JavaGentleman.java:27null)
at net.ofn.nyc.javagentleman.JavaGentleman.main(JavaGentleman.java:23)

Ответы [ 2 ]

2 голосов
/ 12 августа 2011

У вас есть 2 отдельных каталога, один с именем images, другой с именем Images (заглавная 'I')?Держите это последовательным.Ваша файловая система может не различать два, но Java делает.

1 голос
/ 12 августа 2011

Вы используете относительный путь для ресурса изображения. При Class.getResource () относительные пути разрешаются для пакета, содержащего класс, поэтому, если класс, загружающий изображения, находится в пакете com.blah.bleh.foo.bar, он будет искать изображение на /com/blah/bleh/foo/bar/images/meganium.png. getResource () возвращает null, если не удается найти данный ресурс и, следовательно, ваше исключение IllegalArgumentException.

...