Как загрузить файл в импортированном проекте Java? - PullRequest
0 голосов
/ 18 января 2012

Я разрабатываю проект Java, который реализует общие функции.Этот проект использует некоторые файлы xslt.На самом деле я открываю эти файлы, используя относительный путь "file / xslt", и это работает (путь по умолчанию "/" находится в "PLACE1" в моей файловой системе, поэтому полученный путь - "PLACE1 / file / xslt").

Затем я создаю новый проект, импортирую предыдущий проект и пытаюсь использовать его функциональные возможности, но, очевидно, это не работает: в библиотеке относительные пути необходимых файлов xslt рассчитываются с использованием пути по умолчанию:второй проект (находится в «PLACE2» в моей файловой системе, поэтому полученный путь - «PLACE2 / file / xslt»).

Как мне решить эту проблему?

1 Ответ

1 голос
/ 18 января 2012

Поместите ваши файлы xslt в тот же пакет, что и класс, использующий их (или в корневой каталог проекта), а затем используйте Class.getResourceAsStream с путем "file.xslt" или "/file.xslt" - этот метод выполняет поискclasspath для указанного ресурса.

Таким образом, когда проект будет собран, ресурсы (такие как эти файлы xslt) будут скопированы в соответствующие каталоги с файлами * .class и соответственно помещены в файл jar.

Например, когда класс MyClass и файл 1.xslt находятся в одном пакете:

InputStream xsltIn = MyClass.class.getResourceAsStream ("1.xslt");

И если файл 2.xslt находится в исходном корне (пакет по умолчанию без имени):

InputStream xsltIn = MyClass.class.getResourceAsStream ("/2.xslt");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...