Путь к файлу на моем сервере JBoss из сервлета - PullRequest
0 голосов
/ 23 января 2012

У меня есть файл csv, прикрепленный к моему проекту в Eclipse, и у этого проекта есть сервлет, который развернут на локальном сервере JBoss для разработки.

Я хочу получить доступ к этому CSV-файлу и могу использовать абсолютный путь на моем компьютере, например:

CSVExtractor csvE = new CSVExtractor("C:/workspace/myproject/WebContent/data.csv");

Проблема с этим подходом заключается в том, что он никак не переносим. Я считаю, что JBoss предоставил мне метод, чтобы я мог получить доступ к файлам внутри моего проекта, но я не нашел его. Какой будет предпочтительный метод?

PS: я также считаю плохой практикой помещать такой файл в мою папку WebContent, каков наилучший способ изолировать подобные вещи от пользователя?

Ответы [ 3 ]

0 голосов
/ 23 января 2012

Вы можете просто создать файл свойств, в котором указан каталог. Это позволит вашим пользователям изменять и каталог, и горячую замену .csv без повторного развертывания архива.

0 голосов
/ 26 августа 2014

попробуйте это:

    String path = Thread.currentThread().getContextClassLoader().getResource("language/file.xml").getPath();

    File f = new File(path);

    System.out.println(f.getAbsolutePath());
0 голосов
/ 23 января 2012

Добавьте его в ваш путь к классам (WEB-INF / classes или lib) и получите доступ к нему как к ресурсу classpath. Вот пример . Ресурсы Classpath являются переносимыми, поскольку они связаны с самим архивом развертывания.

Вот учебник для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...