加载tomcat下的属性文件
2016-07-11 17:24
447 查看
//加载apache-tomcat-7.0.28\conf\common下所有的properties属性文件 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Properties; public class ConfigLoader { private Properties pro = new Properties(); private static final String MX_COMMON_PATH = "/conf/common"; private static final String CONFIG_ABSOLUTE_PATH = "mx.config.base.path"; private static final String[] fileTypes = { ".properties", ".xml" }; private static ConfigLoader instance; private ConfigLoader() { init(); } private void init() { String path = System.getProperty("catalina.home"); if ((null == path) || (path.isEmpty())) { System.out.println("ERROR: !!! catalina home path is empty, please start the tomcat."); return; } path = path + "/conf/mx-common"; System.out.println(path); this.pro = new Properties(); List ins = new ArrayList(); try { File root = new File(path); for (File file : root.listFiles()) { System.out.println(file.getName()); if (isValidFileType(file.getName())) { InputStream in = new FileInputStream(file); ins.add(in); this.pro.load(in); } } this.pro.put("mx.config.base.path", path); } catch (Exception e) { Iterator i$; InputStream in; e.printStackTrace(); } finally { try { Iterator i$; InputStream in; for (InputStream in : ins) if (in != null) in.close(); } catch (IOException e) { e.printStackTrace(); } } } public static synchronized ConfigLoader getInstance() { if (instance == null) { instance = ConfigLoaderHolder.instance; } return instance; } public String getProperty(String key) { return getProperty(key, false); } public String getProperty(String key, boolean isReload) { if (isReload) { init(); } if (this.pro.containsKey(key)) { return this.pro.getProperty(key); } System.out.println("ERROR: !!! Not found key:[" + key + "]"); return ""; } public boolean containsKey(String key) { return this.pro.containsKey(key); } private boolean isValidFileType(String name) { for (String type : fileTypes) { if (name.endsWith(type)) { return true; } } return false; } private static class ConfigLoaderHolder { private static ConfigLoader instance = new ConfigLoader(null); } }
用法:
String str = ConfigLoader.getInstance().getProperty("属性名称").toString();
相关文章推荐
- MyEclipse8.5 环境中配置Tomcat7.X
- Tomcat部署Maven项目后报错A child container failed during start
- Ubuntu 把Tomcat8 设置成系统服务
- eclipse启动tomcat后localhost:8080无法访问问题
- Server MyEclipse Tomcat v7.0 was unable to start within 45 seconds. If the server requires more time
- java.lang.UnsatisfiedLinkError: D:\Tomcat\apache-tomcat-7.0.37\bin\tcnative-1.dll: Can't load AMD 64
- Tomcat服务器配置参考
- Tomcat的目录结构及用途
- MyEclipse2015+Tomcat+MAVEN+SVN项目环境搭建
- tomcat常用配置详解
- 隐藏tomcat命令窗口的方法
- tomcat 6 安装版内存设置
- tomcat 虚拟节点
- tomcat JNDI 设置
- Spring Boot 项目发布到 Tomcat 服务器
- CentOS-7.0.中安装与配置Tomcat-7的方法
- 使用visualVM 1.3.8(visualvm_138-ml.zip) 监控远程Tomcat运行情况
- tomcat都是按日保存日志文问分割
- tomcat开发的web项目部署到weblogic注意事项
- Unable to open service Tomcat解决方法