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 properties
try
{
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();
}
分享到:
相关推荐
ConfigManager.cs
资源分类:Python库 所属语言:Python 资源全名:whtc.recipe.configmanager-1.1.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
一个简单的configmanager程序,用于将值分配给自定义配置文件中的变量| 高朗 该程序configmanager读取配置文件(* .conf),并将值分配给用户定义的结构。 当您想通过自定义配置文件在golang程序中分配一些变量时,...
系统依赖DLL动态库
用法在您的草图中包含库# include < ConfigManager> 创建您的config和meta结构。 这些是您的设置的定义。 struct Config { char name[ 20 ]; bool enabled; int8_t hour; char password[ 20 ];} config;struct ...
如果省略目录,则install.sh将安装到~/.configmanager/ 。 注意:仅在首次使用时才需要安装。 您将在每台将使用此计算机的其他计算机上导入目录,因此无需再次安装此方法。使用首次使用时,您将需要注册将要管理的...
JiebaNet分词动态库支持.NET 4.0、.NET 4.5、.NET 2.0 包含:JiebaNet.Analyser.dll、JiebaNet.Segmenter.dll 两个文件 支持进行分词、检索(多种模式)、维护词典。
把一些常用的对文件操作的方法打成了包,很有用 这些方法包括平常最常用的读、写、编辑操作。现在您只要用这一个类就可以实现了。很常用的。
java web的运行开发环境和servlet的开发部署
3 js viewer的架构与flex、sliverlight viewer的架构一致,都是通过几个manager(mapManager,configManager,weightManager...)来完成控制。 4 用了dojo1.8 ,让你知道什么叫语法...... 5 与服务器的通信方式,需要...
Point screenResolution = configManager.getScreenResolution(); int width = screenResolution.x * 3 / 4; if (width ) { width = MIN_FRAME_WIDTH; } else if (width > MAX_FRAME_WIDTH) { width = MAX_...
Magento 的配置管理器
vmware虚拟化,vsphere 6.5 storage特性手册vmware虚拟化,vsphere 6.5 storage特性手册vmware虚拟化,vsphere 6.5 storage特性手册vmware虚拟化,vsphere 6.5 storage特性手册
ueitor压缩版.rar
Apache Cordova 的配置管理器插件 由阿尔格雷厄姆创建
依赖项同步/下载 下载govendor(获取-u github.com/kardianos/govendor...动态文件生成 下载go-swagger版本0.13.0二进制文件( )并运行“ swagger生成服务器-P模型。客户--skip-validation -f swagger / swagger.yml”
去配置管理器将 raft 配置存储到内存和磁盘,还提供按跳过列表的快速搜索在漂流中使用。
用法在您的草图中包含库# include < ConfigManager> 初始化库的全局实例ConfigManager configManager; 在设置功能中启动管理器configManager.setAPName( " Demo " );configManager.setAPFilename( " /index.html " )...