config.java
来自「cwbbs 云网论坛源码」· Java 代码 · 共 130 行
JAVA
130 行
package com.redmoon.blog;import java.net.*;import cn.js.fan.util.*;import org.apache.log4j.*;import org.jdom.Document;import org.jdom.Element;import com.cloudwebsoft.framework.util.LogUtil;import org.jdom.input.SAXBuilder;import java.io.FileInputStream;import javax.servlet.http.HttpServletRequest;import cn.js.fan.web.SkinUtil;public class Config { private XMLProperties properties; private final String CONFIG_FILENAME = "config_blog.xml"; private String cfgpath; Logger logger; Document doc = null; Element root = null; public static Config cfg = null; private static Object initLock = new Object(); public boolean isBlogOpen = false; public Config() { } public void init() { logger = Logger.getLogger(Config.class.getName()); URL cfgURL = getClass().getClassLoader().getResource( "/" + CONFIG_FILENAME); cfgpath = cfgURL.getFile(); cfgpath = URLDecoder.decode(cfgpath); properties = new XMLProperties(cfgpath); isBlogOpen = getBooleanProperty("isBlogOpen"); SAXBuilder sb = new SAXBuilder(); try { FileInputStream fin = new FileInputStream(cfgpath); doc = sb.build(fin); root = doc.getRootElement(); fin.close(); } catch (org.jdom.JDOMException e) { LogUtil.getLog(getClass()).error("init:" + e.getMessage()); } catch (java.io.IOException e) { LogUtil.getLog(getClass()).error("init:" + e.getMessage()); } } public Element getRoot() { return root; } public static Config getInstance() { if (cfg == null) { synchronized (initLock) { cfg = new Config(); cfg.init(); } } return cfg; } public static void reload() { cfg = null; } public String getProperty(String name) { return StrUtil.getNullStr(properties.getProperty(name)); } public int getIntProperty(String name) { String p = getProperty(name); if (StrUtil.isNumeric(p)) { return Integer.parseInt(p); } else return -65536; } public boolean getBooleanProperty(String name) { String p = getProperty(name); return p.equals("true"); } public void setProperty(String name, String value) { properties.setProperty(name, value); } public String getProperty(String name, String childAttributeName, String childAttributeValue) { return StrUtil.getNullStr(properties.getProperty(name, childAttributeName, childAttributeValue)); } public String getProperty(String name, String childAttributeName, String childAttributeValue, String subChildName) { return StrUtil.getNullStr(properties.getProperty(name, childAttributeName, childAttributeValue, subChildName)); } public void setProperty(String name, String childAttributeName, String childAttributeValue, String value) { properties.setProperty(name, childAttributeName, childAttributeValue, value); } public void setProperty(String name, String childAttributeName, String childAttributeValue, String subChildName, String value) { properties.setProperty(name, childAttributeName, childAttributeValue, subChildName, value); } public String getDescription(HttpServletRequest request, String name) { return SkinUtil.LoadString(request, "res.config.config_blog", name); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?