2013-03-31 2 views
4

Я хочу загрузить файл свойств из-за пределов веб-приложения. Ниже приведен код для получения файла свойств.Прочитать внешний файл свойств в java-приложении

Properties p = new Properties(); 
p.load(this.getClass().getClassLoader().getResourceAsStream("a.properties")); 

Я использую сервер Tomcat, и я хочу, чтобы поместить файл свойств внутри кота server.Where я могу разместить его на сервере симметричного доступен он в пути к классам во время работы приложения? Я не хочу, чтобы изменить код выше, потому что я должен работать тот же равнодушный сервер приложений также

ответ

3

Я рекомендую первый вариант. Поместите a.properties в путь к классам. Затем загрузите с:

Properties properties = new Properties(); 
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("a.properties")); 

Таким образом, вы можете загрузить свойства относительно «root» пути к классам. Tt рекомендуется использовать ClassLoader как возвращаемый Thread.currentThread(). GetContextClassLoader() для этого.

+0

, если я разместил файл свойств вне веб-проекта, например, в d-диске. Как я могу включить этот путь в путь класса? – user2210071

+0

В этом случае вы можете использовать абсолютный путь: Свойства properties = new Properties(); properties.load (new FileInputStream ("D: /absolute/path/to/a.properties"); – joan

+0

Sory..i не хочу жестко кодировать путь, я просто хочу указать имя файла свойства ... Чтобы загрузить его с сервера tomcat, где я могу разместить его в tomcat? – user2210071

Смежные вопросы