2015-02-20 2 views
0

У меня есть приложение Java, которое я должен оптимизировать и почти завершен. Это приложение должно работать на всех платформах, независимо от местоположения. В частности, в окнах приложение запускается через CMD.Платформа/Местоположение Независимый ini-файл

Приложение работает с базами данных MySQL и вытаскивает URL-адрес, имя пользователя и пароль из ini-файла.

Как я могу прочитать из этого файла, независимо от ОС и независимо от местоположения приложения?

Заранее спасибо.

+0

Это поможет увидеть файл .. –

+0

@ Жан-FrançoisSavard JDBC_Driver = com.mysql.jdbc.Driver DB_URL = <скрыт для конфиденциальности> USER = корень PASS = Arkenstone –

ответ

0

После выполнения некоторого копания, я нашел это решение:

System.getProperty("user.dir/bin/config.ini"); 
System.getProperty(key, args); 

Это будет использовать текущий рабочий каталог во время выполнения и поиск в папке «Bin», а затем файл config.ini. Это многоплатформенный и независимый от каталога, поскольку имя файла не изменяется, и файл остается там, где он есть.

Вы можете использовать методы System.getProperty (s) так же, как и объект Properties.

0

Я использую этот код;

static protected synchronized void initialiseProperties() { 
    debugMsg("Initialising properties..."); 
    try { 
     dbProp = new Properties(); 
     dbProp.load(DBProperties.class.getResourceAsStream(DB_PROPS)); 
    } 
    catch (Exception e) { 
     debugMsg("Exception loading properties file."); 
     dbProp = null; 
    } 
} 

Затем поместите свойства в файл jar.

+0

Также большая идея, есть ли способ, которым вы можете думать об этом, позволит мне просто изменить файл, не распаковывая банку, изменяя свойства, а затем повторно упаковывая банку? –

+0

На самом деле, если ваш код не работает на сервере приложений, например WebSphere, в этом случае вы можете использовать ссылку URI в своем Java-коде и сопоставить это с реальным файлом во время развертывания. – Greycon

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