Java 使用Properties讀取配置檔案
阿新 • • 發佈:2018-12-05
Properties類
Properties類,可以儲存持久的屬性,通常用來讀取配置檔案或者屬性檔案,將檔案中的資料讀入properties物件中,之後,可以直接從properties中獲取配置項的值。並且這些配置只需要讀取一次。
配置檔案格式
可以是XML格式,或者key:value格式。
測試Properties讀取XML格式配置檔案
測試Properties讀取key:value格式檔案
在專案的根目錄有一個config.properties檔案,注意檔案字尾是".properties", 如果是IDE,開啟這個檔案,可以通過工具(tool)來設定屬性以及屬性值。
需要注意:
1、key與value之間使用英文的冒號":"或者"="進行分割,如果value中有":"或者"=",就需要將其轉移(加飯斜線),比如 \:,\=。
2、配置檔案中,如果是以 "#"、"!"、";" 開始的行,會被認為是註釋。
3、每一行儲存一個配置項,配置檔案中的空行將會被跳過(被忽略)
下面是一個配置檔案例項
# 使用# ; ! 開始的行,被認為是註釋 # 可以使用 = 來分隔key 和 value mysqlDriver=com.mysql.jdbc.Driver mysqlUrl=jdbc\:mysql\://localhost\:3306/test mysqlUser=root mysqlPwd=123456 # 可以使用 : 來分隔key 和 value mysqlDriver:com.mysql.jdbc.Driver mysqlUrl:jdbc\:mysql\://localhost\:3306/test mysqlUser:root mysqlPwd:123456
測試
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; public class Use_Properties { public static void main(String[] args) throws FileNotFoundException, IOException { // 例項化properties物件 Properties props = new Properties(); // 載入配置檔案 // void java.util.Properties.load(InputStream inStream) // void java.util.Properties.load(Reader reader) props.load(new FileInputStream("config.properties")); // 通過String getProperty(String key)來獲取配置檔案中key對應的value String mysqlDriver = props.getProperty("mysqlDriver"); System.out.println(mysqlDriver); // com.mysql.jdbc.Driver // 嘗試獲取配置檔案中沒有的key,得到的結果是null String mysqlVersion = props.getProperty("mysqlVersion"); System.out.println(mysqlVersion); // null // Object java.util.Properties.getOrDefault(Object key, Object defaultValue) // 如果key不存在時,或者key存在,而value為空,則返回defaultValue String demo = (String)props.getOrDefault("demo", "this is default value of demo"); System.out.println(demo); // this is default value of demo // 配置檔案中key對應有值,則defaultValue會被忽略 mysqlDriver = (String)props.getOrDefault("mysqlDriver", "defaultMysqlDriver"); System.out.println(mysqlDriver); // com.mysql.jdbc.Driver } }