Java加载配置文件类

不想你离开。 提交于 2019-12-27 01:28:22

 

/**

*  对应配置文件类,

*/

 

package com.up72.parkSys.ThirdParty;

import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;

public final class StaApiConfig {

/**
* 调试变量,用以打印调试错误信息
*/
public static boolean DEBUG = false;
/**
* 系统配置文件名称 例如:xxxxx.properties配置文件
*/
private final static String SYSTEM_CONFIG = "StaApiConfig.properties";
/**
* 单子模式实例
*/
private static StaApiConfig config;
/**
* map
*/
private Map<String, String> params;

private StaApiConfig() {
load();
}

/**
* 单子模式实例方法
*
* @return
*/
public static StaApiConfig instants() {
if (null == config) {
config = new StaApiConfig();
}
return config;
}

/**
* 重新载入资源文件
*/
public void reload() {
load();
}

/*
* 载入properties资源文件
*/
@SuppressWarnings({"unchecked"})
private void load() {
if (null == this.params) {
this.params = new HashMap<String, String>();
} else {
this.params.clear();
}
Properties properties = new Properties();
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream(SYSTEM_CONFIG);
try {
properties.load(inputStream);
Iterator it = properties.keySet().iterator();
while (it.hasNext()) {
Object key = it.next();
if (null != key && !key.toString().equals("")) {
String value = properties.getProperty(key.toString());
params.put(key.toString().trim(), value.trim());
}
}
} catch (IOException e) {
if (DEBUG) {
e.printStackTrace();
}
}
}

/**
* 获得资源文件中指定key的的value值
*/
public String getValue(String key) {
return this.params.get(key);
}
}

 

 

 

 

/*** 配置文件中的内容 例如:StaApiConfig.properties*/
TEST_KEY=100001// 取得配置文件中的内容public class TestProperties {
    public static void main(String[] args) {        String testKey = LqxgConfig.instants().getValue("TEST_KEY");    }}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!