您的位置:首页 > 运维架构

单列模式读取properties配置文件

2017-07-22 22:09 381 查看
package com.utils.generator;

import java.io.InputStream;
import java.util.Properties;

/** 单列模式获取 properties 配置文件
* @Auther SPF
* @Create 2017/7/21
*/
public class PropertiesUtils {
private static PropertiesUtils pu;
private static Properties properties = new Properties();
/** 单列模式必须私有构造器
* 三种获取配置文件的方法
* 1. 通过获取文件路径再用 InputStream 读取配置文件
*   String path = URLDecoder.decode(PropertiesUtils.class.getResource("/jdbc.properties").getFile(),"UTF-8");
*   InputStream is = new FileInputStream(path);
* 2. 直接通过 PropertiesUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
*    获取 InputStream 流(此方法适用于单个模块的项目)
* 3. 通过 file.getAbsolutePath(); 读取配置文件路径 再用 InputStream 流读取配置文件(此方法适用于多模块)
*    例如:
*    File file = new File("ssm-service/src/main/resources/jdbc.properties");
*   String path = file.getAbsolutePath();
*/ private PropertiesUtils(){ InputStream is = PropertiesUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"); try { properties.load(is); } catch (Exception e) { e.printStackTrace(); } finally { try { is.close(); } catch (Exception e) { e.printStackTrace(); } } } public static PropertiesUtils getInstance(){ if (pu == null) { pu = new PropertiesUtils(); } return pu; } public Object getString(String key) { return properties.get(key); } public static void main(String[] args) { PropertiesUtils propertiesUtils = PropertiesUtils.getInstance(); Object obj = propertiesUtils.getString("jdbc.url"); System.out.println(obj); }}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: