Загрузите изображение из банки и вне ее в затмении
У меня есть такая структура в моем Java-проекте в Eclipse:
SRC / COM / MyProgram /.../ foo.javaРез / icon.png.project...Я знаю, что вы можете загрузить изображение изнутри банки с
ImageIO.read(getClass().getResource("/res/icon.png"));
Проблема возникает, когда вы пытаетесь запустить приложение с eclipse напрямую, так как (я думаю) res папка нет внутри папки src, вы получаетеnull
URL
, И я хочу иметь отдельные папки для исходного кода и для ресурсов.
Кроме того, я обнаружил, что могу добавитьres
путь к class-path в eclipse, чтобы я мог загрузить его:
URL url = getClass().getResource("/res/icon.png");
if (url == null)
url = getClass().getResource("/icon.png");
ImageIO.read(url);
Но это добавить код, который нужен только при разработке, а я неМне нравится делать такие вещи (код должен быть максимально чистым и окончательным).
Можно ли что-то сделать, чтобы значок читался обоими методами с одинаковым кодом?