Задача: требуется обратится из JAVA программы к какому-нибудь ресурсу, например к картинке, расположенному внутри JAR файла.
Решение:
У класса есть метод getResource, который помогает определить расположение данного класса. Пользуясь им, можно найти расположение ресурса относительно данного класса, в том числе и в архиве. Например, создадим следующий класс:
При значении imageFolder = " /images/", файл должен быть расположен в папке images, которая, в свою очередь, должна располагаться в корне jar-архива.
Тогда как при значении imageFolder = " images/", эта дирректория должна быть расположена по тому же пути, что и класс файла (обычно в папке ru/company/project/images, относительно корня 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-архива).
Комментариев нет:
Отправить комментарий