PropertiesConfiguration是一個讀取Properties配置文件的工具,可以實現快速的讀取。
maven依賴的包
<dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.9</version> </dependency> <!-- commons-configuration 自動加載的是2.1的版本,編譯時會報錯,所以再加上這個 --> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>
核心代碼
PropertiesConfiguration config=new PropertiesConfiguration("config.properties");//構造對象 //默認的編碼格式是ISO-8859-1,所以才在讀取文件之前先設置了編碼格式 propsConfig.setEncoding("UTF-8") config.getStringArray(key); //根據關鍵字獲取String列表 config.getString(key, ""); //根據關鍵字獲取String類型參數propsConfig的默認分割符是',',換句話說,如果使用','分割,使用getString去取的話只能取到','前面的內容。解決方案見下面的代碼
String propertiesFileName="config.properties"; PropertiesConfiguration config=new PropertiesConfiguration(); propsConfig.setEncoding("UTF-8") config.setListDelimiter('.');//如果內容中包含,設置分割符以后在加載文件才能保證取到所有內容 propsConfig.load(propertiesFileName);
封裝工具

import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; public class PropertiesUtils { private static Configuration config; static { if (null == config) { try { config = new PropertiesConfiguration("config.properties"); } catch (ConfigurationException e) { e.printStackTrace(); } } } private PropertiesUtils() { } public static String getString(String key) { return config.getString(key, ""); } public static String[] getStringArray(String key) { return config.getStringArray(key); } public static void main(String[] args) { String[] strs = getStringArray("mail.touser"); for (String string : strs) { System.out.println(string); } } }