michael_paul 发表于 2013-2-3 11:28:11

ConfigManager

package com.javapatterns.singleton.demos;import java.util.Properties;import java.io.FileInputStream;import java.io.File;public class ConfigManager{private ConfigManager(){m_file = new File(PFILE);m_lastModifiedTime = m_file.lastModified();if(m_lastModifiedTime == 0){            System.err.println(PFILE + " file does not exist!");      }m_props = new Properties();try{m_props.load(new FileInputStream(PFILE));}catch(Exception e){e.printStackTrace();}}synchronized public static ConfigManager getInstance(){return m_instance;}final public Object getConfigItem(String name, Object defaultVal){long newTime = m_file.lastModified();if(newTime == 0){if(m_lastModifiedTime == 0)            {System.err.println(PFILE + " file does not exist!");            }else            {System.err.println(PFILE + " file was deleted!!");            }return defaultVal;}else if(newTime > m_lastModifiedTime){m_props.clear();// Get rid of the old propertiestry{m_props.load(new FileInputStream(PFILE));}catch(Exception e){e.printStackTrace();}}m_lastModifiedTime = newTime;Object val = m_props.getProperty(name);if( val == null )      {return defaultVal;      }else      {return val;      }}private static final String PFILE = System.getProperty("user.dir") +"/Singleton.properties";private File m_file = null;private long m_lastModifiedTime = 0;private Properties m_props = null;private static ConfigManager m_instance = new ConfigManager();}
页: [1]
查看完整版本: ConfigManager