⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmmrconfig.java.svn-base

📁 MSN客服自动化机器人
💻 SVN-BASE
字号:
package jm.form.msn.config;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Hashtable;

import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.events.Characters;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;

/**
 * 配置文件读取
 * 梦界家园MSNP15
 * 
 * @author ISHome
 * @since 0.5.0.2
 * @version 0.5.0.2.1
 */
public class JMMRConfig implements JMMRConfigConstants {

	/**
	 * 获得配置信息内容
	 */
	public static Hashtable<String, String> getConfigs() throws Exception {
		// 数据初始化
		Hashtable<String, String> configMap = new Hashtable<String, String>();
		// 读取主配置文件
		configMap.putAll(getConfigs(CONFIG_SYSTEM_FILE));
		// 获得系统配置信息
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_CONFIG)));
		// 获得数据库配置信息
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_DATABASE)));
		// 获得日志配置信息
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_LOG)));
		// 获得第一次发送时候的欢迎信息等
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_WELCOME)));
		// 商业接口命令帮助信息
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_COMMAND)));

		// 获得系统使用的图片配置信息
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_IMG)));
		// 获得分词字典信息
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_DIC)));
		// 获得显示语言文本配置信息
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_LANG)));
		// 获得系统图片样式配置文件
		configMap.putAll(getConfigs(configMap.get(CONFIG_FILE_STYLES)));
		
		// 读取当前语言信息
		configMap.putAll(getConfigs(configMap.get(configMap.get(CONFIG_LANG))));
		// 读取当前图片配置信息
		configMap.putAll(getConfigs(configMap.get(configMap.get(CONFIG_STYLES))));
		
		return configMap;
	}

	/**
	 * XML配置文件读取
	 * 
	 * @param filename
	 * @return
	 */
	public static Hashtable<String, String> getConfigs(String filename) throws Exception {
		Hashtable<String, String> configMap = new Hashtable<String, String>();
		XMLInputFactory inputFactory = XMLInputFactory.newInstance();
		File file = new File(filename);
		InputStream input = new FileInputStream(file);
		XMLEventReader xmlEventReader = inputFactory.createXMLEventReader(input);
		XMLEvent xmlEvent;
		StartElement startElement;
		Characters characters;
		while (xmlEventReader.hasNext()) {
			xmlEvent = xmlEventReader.nextEvent();
			if (xmlEvent.isStartElement()) {
				startElement = xmlEvent.asStartElement();
				while (xmlEventReader.peek().isCharacters()) {
					xmlEvent = xmlEventReader.nextEvent();
					characters = xmlEvent.asCharacters();
					if (!"".equals(characters.getData()))
						configMap.put(startElement.getName().toString(), characters.getData());
				}
			}
		}
		configMap.put(CONFIG, "OK");
		return configMap;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try{
			System.out.print(JMMRConfig.getConfigs());
		}catch(Exception e){
			e.printStackTrace();
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -