Java程序讀取tomcat下的properties配置文件


代碼如下:

//找到tomcat/etc/wx文件夾
   private static String getPropFolderPath()
   {
 /* Properties p = System.getProperties();
  p.list(System.out);*/
  
//獲取tomcat的路徑
     String path = System.getProperty("catalina.home");
     if (StringUtils.isEmpty(path)) {
       path = QueryQRCodeUrlController.class.getResource("/").getPath();
       path = new File(path).getParent() + File.separator;
     } else {
       path = path + File.separator + TOMCAT_PATH;
     }
     return path;
   }
//***********************初始化配置信息************************
static{
Properties p=new Properties();
InputStream in=null;
try {
in=new FileInputStream(getPropFolderPath()+WX_PROPERTIES);
p.load(in);
   VALUE = p.getProperty("wx.serviceId");
   PWD = p.getProperty("wx.pwd");
} catch (Exception e) {
logger.error(e.toString());
}finally{
if(in!=null){
try {
in.close();
} catch (IOException e) {
logger.error(e.toString());
}
}
}
}

 

1:  File.separator   與系統有關的默認名稱分隔符。

       

在Windows下的路徑分隔符和Linux下的路徑分隔符是不一樣的,當直接使用絕對路徑時,跨平台會暴出“No such file or diretory”的異常。

 

 

比如說要在temp目錄下建立一個test.txt文件,在Windows下應該這么寫:
File file1 = new File ("C:\tmp\test.txt");
在Linux下則是這樣的:
File file2 = new File ("/tmp/test.txt");

如果要考慮跨平台,則最好是這么寫:
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");

File類有幾個類似separator的靜態字段,都是與系統相關的,在編程時應盡量使用。

 

 2: System.getProperties():該方法是獲取當前系統的很多屬性名和value值。得到這些鍵值對之后,可以通過下面方法獲取value值:

 System.getProperty("catalina.home");《如果清楚系統的這些屬性之后,可以直接通過該方法獲取相應的value值》

 

3: 靜態代碼塊:

 

static{

   System.out.println(); 

 用於初始化一些信息,服務啟動之后,類被加載時執行。只執行一次。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM