首页 > 代码库 > Configuration
Configuration
package edu.fzu.ir.util;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.Properties;import org.apache.log4j.Logger;/** * 读取配置文件的工具类 * 提供了静态读取配置文件的方法 * 改配置文件是放在每个worker节点?? * worker启动时根据配置文件路径读取该配置文件 * @author hasee * */public class Configuration { private static Logger logger = Logger.getLogger(Configuration.class); private static Properties properties; private Configuration() {} /** * 通过配置文件的路径获取相关的配置,存储在properties中,worker每次启动时调用该方法 * @param confPath 配置文件的路?? */ public static void loadConfiguration(String confPath) { //判断properties是否是空,如果不为空表示已经加载过配置文件,不需要再加载 if(properties==null) { //利用InputStreamReader指定利用utf-8编码读取properties文件 //这样是为了解决配置文件中的中文乱码问?? InputStream inputStream = null; InputStreamReader isr = null; try { inputStream = new FileInputStream(new File(confPath)); isr = new InputStreamReader(inputStream, "UTF-8"); } catch (FileNotFoundException e) { //文件未找到时,输出错误日志,并停止系?? logger.error(e); System.exit(0); } catch (UnsupportedEncodingException e) { logger.error(e); System.exit(0); } properties = new Properties(); try { //加载并存储到properties logger.info("load configuration from : "+ confPath); properties.load(isr); logger.info("load succeed!"); } catch (IOException e) { logger.error(e); } finally { //关闭资源 try { if(inputStream != null) { inputStream.close(); } if(isr != null) { isr.close(); } } catch (IOException e) { logger.error(e); } } } } /** * 获取配置文件中某????配置??若不存在返回null * @param key 配置项的key?? * @return */ public static String getProperties(String key) { String s = null; if(properties != null){ s = properties.getProperty(key); } return s; }}
Configuration
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。