Как ссылаться на ресурсы не в файле Jar? - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть Java проект, который использует некоторые файлы ресурсов. Я хочу собрать проект в файл jar, но мне все еще нужно иметь возможность ссылаться на файлы ресурсов. Я не хочу, чтобы эти ресурсы были объединены в банку, поскольку конечные пользователи должны иметь возможность вносить в них изменения.

Так есть ли способ заставить файл jar искать ресурсы в каталоге, содержащем jar? Не в самой банке?

Что-то вроде ниже, где файл jar ссылается на файлы, содержащиеся в каталоге ресурсов:

C:/MyDirectory/
   |- project.jar
   |- resources/
       |- resourceFile.txt 

1 Ответ

0 голосов
/ 05 февраля 2020
String myGreatResourceLocation = "c://MyDirectory/resources/resourceFile.txt";

java.nio.file.Path myGreatResource = java.nio.file.Paths.get( myGreatResourceLocation );

Таким образом, вы можете получить доступ к данным вашего ресурса, используя java.nio.file.Files.readAllLines(), есть и другие доступные методы. Если вы просто читаете, чтобы получить строку, readAllLines() будет отлично, так как она позволяет вам указать набор символов, который избавит вас от последующих головных болей.

Обратите внимание, что, если кто-то использует ваш кувшин файл в веб-приложение, оно обычно не сможет прочитать ваши данные (вам придется проверить документацию для вашего веб-сервера или сервера приложений)

...