2012-06-17 3 views
3

У меня есть апплет, который я пытаюсь встроить в html-файл после упаковки в файл jar.Java throwing NullPointerException при загрузке изображений с использованием getClass(). GetResource()

Изображения загружаются в основной апплета класса с помощью следующей строки

return getImage(getClass().getResource("/../content/"+path));

Это работает, когда проходит через затмение, но когда я экспортировать его в файл банку я получаю исключение нулевого указателя. Я сделал некоторые погуглите и я пытался использовать getResourceAsStream со следующим кодом

InputStream is = new BufferedInputStream(
       getClass().getResourceAsStream("/../content/"+path)); 
return ImageIO.read(is); 

, но это не работает через затмение.

Содержимое - это каталог верхнего уровня изображений, а путь - заданный путь к требуемому изображению. Апплет находится в папке с названием игры, которая находится на том же уровне, что и контент

+5

попробуйте поместить содержимое в тот же пакет, что и класс, который обращается к контенту и соответствующим образом изменяет пути и видит, помогает ли это. Если это так, проблема с вашими путями ... –

+0

спасибо, это сработало :) :) – CNevin561

+0

Думал, что я вижу, что если ресурсы находятся в их собственном пути и пакете, но не в текущем пакете, он никогда не работает вне! даже если вы попробуете вернуться в каталог –

ответ

3

Это был комментарий, теперь я ответил на него здесь (поскольку OP сказал, что это действительно помогло): попробуйте поместить содержимое в тот же пакет, что и класс которые получают доступ к контенту и соответственно изменяют пути и видят, помогает ли это. Если это так, это проблема с вашими путями.

0

У меня была та же проблема. Но решить ее с помощью: -

<ClassName>.class.getClass().getResource(urlString); 

Надеется, что это помогает ...

0

Вы могли бы попробовать это вместо этого.

getClass().getClassLoader().getResourceAsStream(name) 

Кроме того, ваш путь выглядит немного странным./.. в основном означает родительский каталог корня, который не может работать.

Смежные вопросы