我想從我的JARs本地目錄中讀取一個config.properties
文件,它從一個網站運行。我已經嘗試了很多不同的代碼,從它流,這是讓類路徑,等等。最後一個,現在我想爲下面的代碼:Java從web目錄讀取屬性文件
FileInputStream f = new FileInputStream("./config.properties");
if(f != null) {
prop.load(f);
db = prop.getProperty("database");
dbuser = prop.getProperty("dbuser");
dbpass = prop.getProperty("dbpass");
host = prop.getProperty("host");
iloc = prop.getProperty("iloc");
}
這完全評估測試時,並從裏面Netbeans的運行,但第二個我放置在網絡上並運行它,它不再找到配置文件,即使它是同一目錄中的相同文件。我已經嘗試了./
而沒有,結果仍然相同。
這會嘗試從當前目錄中讀取文件。當前目錄是執行用於啓動Web服務器的'java'命令的目錄。你爲什麼不使用絕對文件名? – 2013-04-04 21:25:14
因爲它需要在共享服務器環境中運行,無論它放在哪裏,它都需要能夠讀取它的配置文件。 :( – jfreak53 2013-04-04 21:30:06
然後將配置文件嵌入到webapp本身中,並使用Class。getResourceAsStream()(如果它位於WEB-INF/classes或WEB-INF/lib中的其中一個jar中),或者ServletContext.getResourceAsStream()位於webapp的根文件夾或子目錄中。 – 2013-04-04 21:32:57