2012-09-20 57 views
1

我必須從「ReadProp.java」類中讀取屬性文件「MyProperty.properties」,因爲我將要部署我的「war」文件的以下目錄結構。從Web應用程序的根讀取屬性文件

MyApp.war 
| 
----MyProps 
|  |--MyProperty.properties 
|---WEB-INF 
|  |--classes 
|    |---ReadProp.java 

我打算在「Sun門戶服務器」中部署這個「war」文件。 但由於需求規格的原因,我不應該改變這個目錄結構。

從「ReadProp.java」類讀取屬性文件「MyProperty.properties」 的最佳方式是什麼?

+0

按照鏈接http://stackoverflow.com/questions/12457041/i-want-relative-path-for-a-file-in-java/12457133#12457133 –

回答

2

得到答案

String path = servletContext.getRealPath("/MyProps/MyProperty.properties"); 
     System.out.println("path: " + path); 

     Properties prop = new Properties(); 
     try { 
      prop.load(new FileInputStream(path)); 
     } catch (Exception e) { 
         e.printStackTrace(); 
     } 
     String name= prop.getProperty("name"); 
0

的一種方式做到這一點

ReadProp.class.getResourceAsStream("MyProps/MyProperty.properties"); 

的Myprops應該在服務器類路徑。

做這件事的理想方法是將此Myprops保存在WEB-INF/classes目錄中。

+0

但我的要求只是這樣。我們不能改變這個要求 –

0

最好的選擇是把你的文件放在src/resources/MyProperty.properties之下。它將在您的.war之內結束在classes之下。更好地使用/src/main/src/test,那麼如果main需要資源(例如.properties文件),請將其保留在src/main/resources/MyProperty.properties中。

相關問題