Java實(shí)現(xiàn)的properties文件動(dòng)態(tài)修改并自動(dòng)保存工具類
本文實(shí)例講述了Java實(shí)現(xiàn)的properties文件動(dòng)態(tài)修改并自動(dòng)保存工具類。分享給大家供大家參考,具體如下:
一、概述
利用commons-configuration讀取配置文件,并實(shí)現(xiàn)對配置文件的動(dòng)態(tài)修改和自動(dòng)保存。
Apache Common-Configuration工具可以從
Properties文件,XML文件,JNDI,JDBC數(shù)據(jù)源,System Properties,Applet parameters,Servlet Parameters等讀取相應(yīng)信息
使用步驟
前提,引入commons-configuration-1.6.jar這個(gè)JAR包,同時(shí)還必須映入commm-logging.jar,common-lang.jar和common-collection.jar
二、示例:
public class Config { private static PropertiesConfiguration propConfig; private static final Config CONFIG = new Config(); /** * 自動(dòng)保存 */ private static boolean autoSave = true; private Config() { } public static Config getInstance(String propertiesFile) { //執(zhí)行初始化 init(propertiesFile); return CONFIG; } /** * 初始化 * * @param propertiesFile * @see */ private static void init(String propertiesFile) { try { propConfig = new PropertiesConfiguration(propertiesFile); //自動(dòng)重新加載 propConfig.setReloadingStrategy(new FileChangedReloadingStrategy()); //自動(dòng)保存 propConfig.setAutoSave(autoSave); } catch (ConfigurationException e) { e.printStackTrace(); } } /** * 根據(jù)Key獲得對應(yīng)的value * * @param key * @return * @see */ public Object getValue(String key) { return propConfig.getProperty(key); } /** * 設(shè)置屬性 * * @param key * @param value * @see */ public void setProperty(String key, String value) { propConfig.setProperty(key, value); } }
附:相關(guān)jar包本站下載地址如下:
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java文件與目錄操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java利用遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)的工具類
有時(shí)候,我們的數(shù)據(jù)是帶有層級的,比如常見的省市區(qū)三級聯(lián)動(dòng),就是一層套著一層。而我們在數(shù)據(jù)庫存放數(shù)據(jù)的時(shí)候,往往是列表形式的,這個(gè)時(shí)候可能就需要遞歸處理為樹形結(jié)構(gòu)了。本文就為大家介紹了Java利用遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)的工具類,希望對大家有所幫助2023-03-03@Value如何獲取yml和properties配置參數(shù)
這篇文章主要介紹了@Value如何獲取yml和properties配置參數(shù)的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Java中使用Lambda表達(dá)式和函數(shù)編程示例
這篇文章介紹了Java中使用Lambda表達(dá)式和函數(shù)編程示例,該文章會(huì)演示多個(gè)示列,分別是變量聲明上下文中的lambda、return語句上下文中的lambda、賦值上下文中的lambda、lambda在數(shù)組初始值設(shè)定項(xiàng)上下文中的用法等等,需要的朋友可以參考一下2021-10-10Java隨機(jī)生成手機(jī)短信驗(yàn)證碼的方法
這篇文章主要介紹了Java隨機(jī)生成手機(jī)短信驗(yàn)證碼的方法,涉及Java數(shù)學(xué)運(yùn)算計(jì)算隨機(jī)數(shù)及字符串操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Java中的ScheduledThreadPoolExecutor定時(shí)任務(wù)詳解
這篇文章主要介紹了Java中的ScheduledThreadPoolExecutor詳解,??ScheduledThreadPoolExecutor?繼承自?ThreadPoolExecutor,它主要用來在給定的延遲之后運(yùn)行任務(wù),或者定期執(zhí)行任務(wù),ScheduledThreadPoolExecutor?的功能與?Timer?類似<BR>,需要的朋友可以參考下2023-12-12