Загрузка изображений в java (eclipse vs IntelliJ)

#java #eclipse #image #intellij-idea

#java #eclipse #изображение #intellij-идея

Вопрос:

Можно было бы загрузить изображение:
project> res> img.png (path = «res / img.png»)

 BufferedImage image = loadImage(path);
  

Где LoadImage:

 protected BufferedImage loadImage(String path) {
    BufferedImage img = null;
    try {
        img = ImageIO.read(new File(path));
    } catch(IOException e) {
        System.err.println("could not load: "   path);
    }
    return img;
}
  


Кто-то, использующий Eclipse, использовал:

(путь = «/img.png»)

 BufferedImage image = null;
    try {
        image = ImageIO.read(Sprite.class.getResourceAsStream(path));
    } catch (IOException e) {       
        e.printStackTrace();
    }
  

Но использование этого в IntelliJ дает:

Исключение в потоке «Game_main» java.lang.Исключение IllegalArgumentException: ввод == null!

почему сбой getResourceAsStream?

Ответ №1:

getResourceAsStream() для поиска файла используется (по умолчанию) системный загрузчик классов. Следовательно, каталог ресурсов должен находиться в пути к классу — убедитесь, что проект IntelliJ правильно включает res каталог и помечает его как каталог ресурсов.