Загрузить ресурс в Jar - PullRequest
       6

Загрузить ресурс в Jar

3 голосов
/ 23 марта 2011

Ниже приведена структура моего Jar файла

root
 - template.ftl
 - org.project.myproject.App.java

Внутри App.java у меня есть строка кода, которая ожидает от меня указания directory для загрузки template.ftl.Что-то вроде:

Line#1: cfg.setDirectoryForTemplateLoading("java.io.File object that represents /directory/for/storing/template/files");

и следующей строки кода, прочитайте файл шаблона

Line#2: Template temp = cfg.getTemplate("template.ftl");

Моя проблема в том, что я не могу указать путь к каталогу, откудафайл будет загружен.Файл шаблона для загрузки доступен в корневом каталоге Jar.Когда я пишу,

cfg.setDirectoryForTemplateLoading(new File("."));

Там написано, template.ftl не найдено.

Каким должен быть соответствующий код, который может правильно установить каталог шаблонов на Line#1 выше?

Ответы [ 2 ]

3 голосов
/ 23 марта 2011

Я думаю, что это не работает для вас, потому что вы пытаетесь загрузить файл, который не существует как файл, но находится внутри вашего фляги.Чтобы прочитать ваш шаблон как входной поток из файла JAR, вы можете сделать:

this.getClass().getClassLoader().getResourceAsStream("template.ftl");

Я думаю, что это должно помочь вам выбрать правильный путь.

0 голосов
/ 23 марта 2011
Line#2: Template temp = cfg.getTemplate("/template.ftl");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...