В jar не запаковались изображения (или он их не видит)
Изображение находится в папке src. Пока запускаю не jar всё работает, изображение считывается, но если запускаю jar, то изображение не загружается, null pointer exception.
try {
URL resource = Sticker.class.getResource("\\transparentSticker.png");
img = null;
this.img = ImageIO.read(Paths.get(resource.toURI()).toFile());
System.out.println("c");
} catch (IOException | URISyntaxException e) {
System.out.println("caught");
}
Пробовала использовать intputStream, но когда пытаюсь, то даже не в jar не работает
InputStream input = Sticker.class.getResourceAsStream("\\transparentSticker.png");
if (input == null) {
input = Sticker.class.getClassLoader().getResourceAsStream("\\transparentSticker.png");
}
try {
img = ImageIO.read(input);
} catch (IOException e) {
e.printStackTrace();
}
Как сделать так, чтобы изображение загружалось?
Сейчас код выглядит так, но всё равно не работает, FileSystemNotFoundException... Вариант "/transparentSticker.png" не помогает. "\resourses\transparentSticker.png" тоже. Так оно даже при запуске в Intellij-Idea не работает, не то что при запуске файла jar

Ответы (2 шт):
- Создайте в структуре проекта директорию resources и положите туда изображение.
- Замените \\transparentSticker.png на /transparentSticker.png.
InputStream in = Sticker.class.getClassLoader().getResourceAsStream("transparentSticker.png");
Если файл лежит в ресурсах. Так же, если папка ресурса была назначена раньше чем вы туда положили файл, нужно снять метку и поставить её заново.
И поток закрыть не забудьте )