Загрузить свойства из папки ресурсов в JAR - PullRequest
1 голос
/ 19 февраля 2012

У меня есть файл JAR Movie Library.jar, его содержимое изображено ниже:

enter image description here

Класс PropertiesUtils находится в client.jar (показано на рисунке) ифайлы свойств находятся в папке свойств, которая находится в папке ресурсов.

Я пытаюсь загрузить свойства как:

String absolutePath = LazyProperties.class.getClass().getResource(filePath).getPath();
File file = new File(absolutePath);
InputStream stream = new FileInputStream(file);
Properties properties = new Properties();
properties.load(stream);

Но он показывает:

file:\D:\Code\MovieLibrary\build\jar\Movie%20Library.jar!\resources\properties\movie_library.properties (The filename, directory name, or volume label syntax is incorrect)

Я не могу представить его как System.out.println(file) печатает:

file:/D:/Code/MovieLibrary/build/jar/Movie%20Library.jar!/resources/properties/movie_library.properties

Любая помощь заметна.Заранее спасибо.

1 Ответ

4 голосов
/ 19 февраля 2012

Если файл свойств находится внутри jar-файла, он больше не является физическим файлом

props.load(LazyProperties.class.getResourceAsStream("/properties/movie_libraryproperties"));
...