Java - чтение XML-файла из JAR - PullRequest
       2

Java - чтение XML-файла из JAR

2 голосов
/ 05 августа 2010

Я пытаюсь прочитать конфигурацию xml из файла jar, развернутого на dm-сервере

, вот код

Reader fileReader = null;
try {
 fileReader = new FileReader("test.xml");
} catch (FileNotFoundException fnfex) {
 fnfex.printStackTrace();
} catch (IOException ioex) {
 ioex.printStackTrace();
}

Я смог прочитать его, если просто напишутест junit без jar и без dm-сервера.

тест упакован в jar и находится в корне файла jar.

помогите пожалуйста !!!!

спасибо, A

Ответы [ 2 ]

4 голосов
/ 05 августа 2010

Вам нужно использовать методы класса getResource или getResourceAsStream для чтения файлов из банки.

Это можно сделать так:

Reader fileReader = null;

InputStream is = this.getClass().getResourceAsStream("/test.xml");
if (null != is) {
    fileReader = new InputStreamReader(is);
}

Обратите внимание, что getResourceAsStream возвращает ноль, если не удается найти файл.

Редактировать: исправлено test.xml в /test.xml

Также обратите внимание, что Class<T> версия getResourceAsStream относится к ClassLoader getResourceAsStream или getSystemResourceAsStream, в зависимости от ситуации.

4 голосов
/ 05 августа 2010

ClassLoader.getResourceAsStream () позволит вам читать ресурсы из файла .jar.Если ваш файл находится в корне файла .jar, то:

this.getClass().getClassLoader().getResourceAsStream("/test.xml");

даст вам InputStream из этого файла.

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