Java使用commons-configuration讀取配置檔案
pom.xml
<dependencies>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.10</version>
</dependency>
</dependencies>
test.ini
; default config
[DEFAULT]
admin_http_listen = 127.0.0.1:80
admin_https_listen = 127.0.0.1:443
test.properties
A = one
B = two
C = three,four
D = True
讀取properties配置檔案
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
import java.util.List;
/**
* @author xxx
*/
public class PropertiesFile {
/**
* 配置檔案存放路徑及檔名稱
*/
private String propertiesFilePath;
private PropertiesConfiguration cfg = null;
public PropertiesFile(String propertiesFilePath) {
try {
this.propertiesFilePath = propertiesFilePath;
cfg = new PropertiesConfiguration(propertiesFilePath);
} catch (ConfigurationException e) {
e.printStackTrace();
}
// 當檔案的內容發生改變時,配置物件也會重新整理
cfg.setReloadingStrategy(new FileChangedReloadingStrategy());
}
public void setPropertiesFilePath(String propertiesFilePath) {
this.propertiesFilePath = propertiesFilePath;
}
/**
* 讀取properties檔案返回一個String型別的結果,如果是一組資料,例A = 1,2使用此方法get後將之會返回1
* @param key 需要查詢的key
* @return String型別的查詢結果
*/
public String getStringValue(String key) {
return cfg.getString(key);
}
/**
* 讀取properties檔案返回一個Int型別的結果,如果是一組資料,例A = 1,2使用此方法get後將之會返回1
* @param key 需要查詢的key
* @return Int型別的查詢結果
*/
public int getIntValue(String key) {
return cfg.getInt(key);
}
/**
* 讀取properties檔案返回一個Boolean型別的結果
* @param key 需要查詢的key
* @return Boolean型別的查詢結果
*/
public boolean getBooleanValue(String key) {
return cfg.getBoolean(key);
}
/**
* 讀取properties檔案返回一個結果List
* @param key 需要查詢的key
* @return List結果
*/
public List<?> getListValue(String key) {
return cfg.getList(key);
}
/**
* 讀取properties檔案返回一個結果陣列
* @param key 需要查詢的key
* @return 陣列結果
*/
public String[] getArrayValue(String key) {
return cfg.getStringArray(key);
}
public static void main(String[] args) {
PropertiesFile propertiesFile = new PropertiesFile("config/test.properties");
System.out.println(propertiesFile.getListValue("C"));
}
}
讀取ini檔案
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalINIConfiguration;
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
import java.util.List;
/**
* @author xxx
*/
public class INIFile {
/**
* 配置檔案存放路徑及檔名稱
*/
private String iniFilePath;
private HierarchicalINIConfiguration cfg = null;
public INIFile(String iniFilePath) {
try {
this.iniFilePath = iniFilePath;
cfg = new HierarchicalINIConfiguration(iniFilePath);
} catch (ConfigurationException e) {
e.printStackTrace();
}
// 當檔案的內容發生改變時,配置物件也會重新整理
cfg.setReloadingStrategy(new FileChangedReloadingStrategy());
}
public void setIniFilePath(String iniFilePath) {
this.iniFilePath = iniFilePath;
}
/**
* 讀取ini檔案返回一個String型別的結果,如果是一組資料,例A = 1,2使用此方法get後將之會返回1
* @param key 需要查詢的key
* @return String型別的查詢結果
*/
public String getStringValue(String key) {
return cfg.getString(key);
}
/**
* 讀取ini檔案返回一個Int型別的結果,如果是一組資料,例A = 1,2使用此方法get後將之會返回1
* @param key 需要查詢的key
* @return Int型別的查詢結果
*/
public int getIntValue(String key) {
return cfg.getInt(key);
}
/**
* 讀取ini檔案返回一個Boolean型別的結果
* @param key 需要查詢的key
* @return Boolean型別的查詢結果
*/
public boolean getBooleanValue(String key) {
return cfg.getBoolean(key);
}
/**
* 讀取ini檔案返回一個結果List
* @param key 需要查詢的key
* @return List結果
*/
public List<?> getListValue(String key) {
return cfg.getList(key);
}
/**
* 讀取ini檔案返回一個結果陣列
* @param key 需要查詢的key
* @return 陣列結果
*/
public String[] getArrayValue(String key) {
return cfg.getStringArray(key);
}
public static void main(String[] args) {
INIFile iniFile = new INIFile("config/test.ini");
System.out.println(iniFile.getStringValue("DEFAULT.admin_http_listen"));
}
}
相關文章
- java中讀取配置檔案Java
- Java讀取properties配置檔案工具包Java
- Java 讀取檔案Java
- go配置檔案讀取Go
- springboot讀取配置檔案Spring Boot
- viper 讀取配置檔案
- IOC - 讀取配置檔案
- Java動態指令碼Groovy讀取配置檔案Java指令碼
- go 讀取.ini配置檔案Go
- Golang專案中讀取配置檔案Golang
- Java系列:讀取XML檔案JavaXML
- Android讀取配置檔案的方法Android
- C#讀取Json配置檔案C#JSON
- shell讀取配置檔案-sed命令
- python怎麼讀取配置檔案Python
- java 讀寫 ini 配置檔案Java
- IntelliJ IDEA java maven專案讀取配置檔案資訊 java.util.ResourceBundle 方式IntelliJIdeaJavaMaven
- Java讀取Json檔案工具類JavaJSON
- python讀取yaml配置檔案的方法PythonYAML
- 透過python讀取ini配置檔案Python
- .net core 靈活讀取配置檔案
- C#讀取指定json配置檔案C#JSON
- .NET Core 6.0之讀取配置檔案
- SpringBoot配置檔案讀取過程分析Spring Boot
- 如何在python中讀取配置檔案Python
- docker 啟動 jenkins,配置 mvn 卻無法使用 shell 讀取配置檔案DockerJenkins
- 使用yaml檔案讀取資料YAML
- 配置檔案讀取——MySQL 多個連線MySql
- 【springboot讀取配置檔案】@ConfigurationProperties、@PropertySource和@ValueSpring Boot
- Java實時讀取日誌檔案Java
- java讀取大檔案並處理Java
- Java 讀取txt檔案生成Word文件Java
- Go 專案配置檔案的定義和讀取Go
- Asp .Net Core 讀取appsettings.json配置檔案APPJSON
- Spring Boot讀取配置檔案的幾種方式Spring Boot
- .NET Core基礎篇之:配置檔案讀取
- springboot 執行 jar 包讀取外部配置檔案Spring BootJAR
- 如何使用File APIs來讀取檔案API