Social Icons

.

пятница, 15 июня 2012 г.

Расположить ресурс в JAR файле

Задача: требуется обратится из JAVA программы к какому-нибудь ресурсу, например к картинке, расположенному внутри JAR файла.

Решение:
У класса есть метод getResource, который помогает определить расположение данного класса. Пользуясь им, можно найти расположение ресурса относительно данного класса, в том числе и в архиве. Например, создадим следующий класс:

package ru.company.project;

 class IconLoader {
    public static ImageIcon getIcon(String name, String imageFolder) {
        ImageIcon icon = null;
        String imagePath = imageFolder + name;
         java.net.URL url = IconLoader.class.getResource(imagePath);
         if (url != null) {
              icon = new ImageIcon(url);
         }
         return icon;
    }
 }

При значении imageFolder = " /images/", файл должен быть расположен в папке images, которая, в свою очередь, должна располагаться в корне jar-архива.
Тогда как при значении imageFolder = " images/", эта дирректория должна быть расположена по тому же пути, что и класс файла (обычно в папке ru/company/project/images, относительно корня jar-архива).

Комментариев нет:

Отправить комментарий

 

Так говорил Учитель:

У хорошо написанной программы есть свой собственный рай, у плохо написанной — свой собственный ад.

Russian Developer

Взгляд его светел, усилия праведны, старания бесплодны, дело безнадежно ...