簡體   English   中英

使用屬性讀取.properties文件

[英]using Properties to read .properties files

我需要能夠使用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中使用絕對路徑執行的操作嗎? 這樣可以嗎?

new FileInputStream("/home/webserver/tomcat6/properties/js.ldap.properties");

如果文件路徑以斜杠(/)開頭,則將其作為路徑。

但是,如果文件路徑不是以slash(/)開頭,則它是絕對路徑。 它將嘗試使用java home追加路徑。

對於前

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

它將附加java路徑

如果java home是/home/webserver/tomcat6/ ,它將嘗試在/home/webserver/tomcat6/properties/js.ldap.properties/home/webserver/tomcat6/properties/js.ldap.properties

這樣做並不是真的可以,因為如果您在其他任何位置安裝了tomcat,或者甚至從tomcat6升級到tomcat7,所有代碼都會中斷。

我建議使用System.getProperty("CATALINA_HOME") ,它應指向您的tomcat主目錄。 然后,您可以基於該路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM