看了下IKAnalyzer
4.10.1中的DefaultConfig类(实现了Configuration类),其中就是用到这种方式读取的配置文件:
自定义vnetoo.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>vnetoo配置文件</comment>
<entry key="username">xuzengqiang</entry>
<entry key="email">253948113@qq.com</entry>
</properties>
配置文件的读取:
package com.xuzengqiang.design.common.lucene.demo;
import java.io.IOException;
import java.io.InputStream;
import java.util.InvalidPropertiesFormatException;
import java.util.Properties;
import org.wltea.analyzer.cfg.Configuration;
/**
* 描述:
* @author xuzengqiang
*/
public class ConfigurationManager {
private static final String FILE_NAME = "/vnetoo.cfg.xml";
private static final String USERNAME = "username";
private static final String EMAIL = "email";
private static final ConfigurationManager INSTANCE = new ConfigurationManager();
private Properties props;
/*
* 初始化配置文件
*/
private ConfigurationManager() {
props = new Properties();
InputStream input = Configuration.class.getResourceAsStream(FILE_NAME);
if (input != null) {
try {
props.loadFromXML(input);
} catch (InvalidPropertiesFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static ConfigurationManager getInstance() {
return INSTANCE;
}
public static void main(String[] args) {
ConfigurationManager instance = ConfigurationManager.getInstance();
Properties properties = instance.props;
System.out.println(properties.getProperty(USERNAME) + "-" + properties.getProperty(EMAIL));
}
}