当前位置 : 主页 > 编程语言 > java >

配置文件读取类

来源:互联网 收集:自由互联 发布时间:2021-06-28
定义 package com.wp.tool;import java.util.Date;import java.util.HashMap;import java.util.MissingResourceException;import java.util.ResourceBundle;/** * 资源文件读取工具 * @author pengwu7 * @date 2017年9月7日 */public class Prop
定义
package com.wp.tool;

import java.util.Date;
import java.util.HashMap;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

/**
 * 资源文件读取工具
 * @author pengwu7
 * @date 2017年9月7日
 */
public class PropertiesFileUtil {

    // 当打开多个资源文件时,缓存资源文件
    private static HashMap
 
   configMap = new HashMap
  
   (); // 打开文件时间,判断超时使用 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; } }
  
 
使用
PropertiesFileUtil.getInstance("config").get("xxx");
PropertiesFileUtil.getInstance().get("xxx");
网友评论