Last active
October 25, 2017 00:53
-
-
Save liujbo/659ec229d336379c0051a21f56d81027 to your computer and use it in GitHub Desktop.
读取配置文件
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.xilai.cuteBoy.common.util; | |
import java.util.Date; | |
import java.util.HashMap; | |
import java.util.MissingResourceException; | |
import java.util.ResourceBundle; | |
/************************************************************* | |
* Description: 资源文件读取工具 | |
* Author: Liu Junbo | |
* CreateTime: 2017/5/2 | |
************************************************************/ | |
public class PropertiesFileUtil { | |
// 当打开多个资源文件时,缓存资源文件 | |
private static HashMap<String, PropertiesFileUtil> configMap = new HashMap<String, PropertiesFileUtil>(); | |
// 打开文件时间,判断超时使用 | |
private Date loadTime = null; | |
// 资源文件 | |
private ResourceBundle resourceBundle = null; | |
// 默认资源文件名称 | |
private static final String NAME = "config"; | |
// 缓存时间 | |
private static final Integer TIME_OUT = 60 * 1000; | |
// 私有构造方法,创建单例 | |
private PropertiesFileUtil(String name) { | |
this.loadTime = new Date(); | |
this.resourceBundle = ResourceBundle.getBundle(name); | |
} | |
public static synchronized PropertiesFileUtil getInstance() { | |
return getInstance(NAME); | |
} | |
public static synchronized PropertiesFileUtil getInstance(String name) { | |
PropertiesFileUtil conf = configMap.get(name); | |
if (null == conf) { | |
conf = new PropertiesFileUtil(name); | |
configMap.put(name, conf); | |
} | |
// 判断是否打开的资源文件是否超时1分钟 | |
if ((new Date().getTime() - conf.getLoadTime().getTime()) > TIME_OUT) { | |
conf = new PropertiesFileUtil(name); | |
configMap.put(name, conf); | |
} | |
return conf; | |
} | |
// 根据key读取value | |
public String get(String key) { | |
try { | |
String value = resourceBundle.getString(key); | |
return value; | |
} catch (MissingResourceException e) { | |
return ""; | |
} | |
} | |
// 根据key读取value(整形) | |
public Integer getInt(String key) { | |
try { | |
String value = resourceBundle.getString(key); | |
return Integer.parseInt(value); | |
} catch (MissingResourceException e) { | |
return null; | |
} | |
} | |
// 根据key读取value(布尔) | |
public boolean getBool(String key) { | |
try { | |
String value = resourceBundle.getString(key); | |
if ("true".equals(value)) { | |
return true; | |
} | |
return false; | |
} catch (MissingResourceException e) { | |
return false; | |
} | |
} | |
public Date getLoadTime() { | |
return loadTime; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment