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 + -
显示快捷键?