/ / за допомогою властивостей для читання .properties файлів - Java, Linux, сервлетів, властивостей

використовуючи властивість для читання файлів .properties - java, linux, servlets, властивості

Мені потрібно вміти читати файли властивостей за допомогою FileInoputStream. У мене є 3 файли властивостей:

Properties props = new Properties();
Properties props2 = new Properties();
Properties props3 = new Properties();
FileInputStream ldapfis = new FileInputStream("/home/webserver/tomcat6/properties/js.ldap.properties");
FileInputStream smtpfis = new FileInputStream("/home/webserver/tomcat6/properties/js.smtp.properties");
FileInputStream dbfis   = new FileInputStream("/home/webserver/tomcat6/properties/js.db.properties");

props.load(ldapfis);
props2.load(smtpfis);
props2.load(dbfis);

String host = props.getProperty("ldap.provider.host");
String dbName = props2.getProperty("db.name");

Це, як ви це робите в Linux з абсолютним шляхом? Це нормально робити?

Відповіді:

1 для відповіді № 1
new FileInputStream("/home/webserver/tomcat6/properties/js.ldap.properties");

Якщо шлях до файлу починається з косою косою (/), він сприйме це як шлях.

але якщо шлях до файлу не починається з косою косою (/), то це абсолютний шлях. Він спробує додати шлях до Java додому.

Для екс

new FileInputStream("properties/js.ldap.properties");

Він додасть шлях до дому

Ось, якщо ява вдома є /home/webserver/tomcat6/ його спробують знайти під /home/webserver/tomcat6/properties/js.ldap.properties.


1 для відповіді № 2

Це не дуже добре для цього, тому що якщо встановити tomcat в будь-якому іншому місці або навіть оновити з tomcat6 до tomcat7, весь ваш код порушиться.

Я б рекомендував використовувати System.getProperty("CATALINA_HOME") який повинен вказувати на ваш домашній каталог tomcat. Потім ви можете отримати шлях на основі цього.