package com.demo.utils; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Iterator; import java.util.Properties; public class SysConfig { private Properties props = null;// config.properties private static volatile SysConfig conf; private SysConfig() { props = new Properties(); loadConfigProps(); } public static SysConfig getInstance() { if (conf == null) { synchronized (SysConfig.class) { if (conf == null) { conf = new SysConfig(); } } } return conf; } public void loadConfigProps() { InputStream is = null; try { is = getClass().getResourceAsStream("/xx.properties"); if (is == null) { is = getClass().getResourceAsStream("/config.properties"); } InputStreamReader reader = new InputStreamReader(is, "UTF-8"); props.load(reader); Iterator<String> iter = props.stringPropertyNames().iterator(); while (iter.hasNext()) { String key = iter.next(); props.setProperty(key, props.getProperty(key)); } } catch (IOException e) { e.printStackTrace(); } finally { if (is != null) { try { is.close(); is = null; } catch (Exception e) { e.printStackTrace(); } } } } public String getProperty(String key) { String tmp = props.getProperty(key); if (!StringUtils.isNullOrEmpty(tmp)) { return tmp.trim(); } return tmp; } public String getProperty(String key, String defaultValue) { String tmp = props.getProperty(key, defaultValue); if (!StringUtils.isNullOrEmpty(tmp)) { return tmp.trim(); } return tmp; } public int getPropertyInt(String key) { String tmp = props.getProperty(key); if (!StringUtils.isNullOrEmpty(tmp)) { return Integer.parseInt(tmp.trim()); } return 0; } public int getPropertyInt(String key, int defaultValue) { String tmp = props.getProperty(key); if (!StringUtils.isNullOrEmpty(tmp)) { return Integer.parseInt(tmp.trim()); } return defaultValue; } public long getPropertyLong(String key, long defaultValue) { String tmp = props.getProperty(key); if (!StringUtils.isNullOrEmpty(tmp)) { return Integer.parseInt(tmp.trim()); } return defaultValue; } }
java Properties获取本地文件的变量
最新推荐文章于 2022-12-14 19:40:54 发布
本文介绍了一个用于Java应用程序的配置文件加载器实现。该加载器能够从配置文件中读取属性,并提供方法获取不同类型的配置值,如字符串、整数等。它通过单例模式确保了实例的唯一性。
9725

被折叠的 条评论
为什么被折叠?



