讀取properties配置檔案的工具類
阿新 • • 發佈:2019-01-06
一般小工程,properties配置檔案之間在src根目錄建立
比如data.properties,程式碼如下
<!-- 代理伺服器地址 --> PROXY=192.168.0.1 <!-- 代理伺服器埠號 --> PORT=8080 <!-- 登入代理的使用者名稱 --> USERNAME=username <!-- 登入代理的口令 --> PASSWORD=password <!-- 圖片儲存路徑 --> imgPath=c:/xml/ <!-- xml檔名 --> xmlName=UploadRequest.xml <!-- 1. Build Fat Jar包含dom4j --> <!-- 2. cmd - 生成的jar路徑下 java -jar xx.jar --> <!-- properties配置檔案更新困難 -->
用於讀取資料的工具類如下寫:
package com.main.util; import java.io.IOException; import java.util.Properties; /** * * 讀取properties檔案的工具類 * * @author 莫小哆_ly 2012-3-30 */ public class Tools { private static Properties p = new Properties(); /** * 讀取properties配置檔案資訊 */ static{ try { p.load(Tools.class.getClassLoader().getResourceAsStream("data.properties")); } catch (IOException e) { e.printStackTrace(); } } /** * 根據key得到value的值 */ public static String getValue(String key) { return p.getProperty(key); } }
如此,呼叫配置檔案中常量的時候,只要呼叫getValue()方法即可,比如
Tools.getValue("PORT")
即 8080
========================================================================
另外,專案中也經常單獨將一部分功能獨立做Java Project,然後打成jar包供其他專案呼叫。如果jar包中需要讀取配置檔案資訊,則很少把該配置打進jar包,因為它不方便修改,更多都是採用jar包讀取外部配置檔案。
properties配置檔案從工程移除,先放在工程下、與src並列路徑。如圖
讀取配置檔案的工具類Tools做如下改動:
package com.main.util;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
*
* 讀取properties檔案的工具類
*
* @author 莫小哆_ly 2012-3-30
*/
public class Tools {
private static Properties p = new Properties();
static {
try {
// System.getProperty("user.dir") 獲得專案的絕對路徑,然後拼裝配置檔案的路徑
// 讀取系統外配置檔案 (即Jar包外檔案) --- 外部工程引用該Jar包時需要在工程下建立config目錄存放配置檔案
String filePath = System.getProperty("user.dir") + "/config/data.properties";
InputStream in = new BufferedInputStream(new FileInputStream(filePath));
p.load(in);
} catch (IOException e) {
System.out.println("讀取配置資訊出錯!");
}
}
/**
* 根據key得到value的值
*/
public static String getValue(String key) {
return p.getProperty(key);
}
}