1、 结构图:
2、 Jar包:
3、 Config.java
package com.flyfox.config;
import java.io.File;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Config {
private static final Logger logger = Logger.getLogger(Config.class);
public static String ip;
public static String port;
public static String userName;
public static String password;
public static String isTest;
public static void init() throws DocumentException {
String path = System.getProperty("user.dir");
File f = new File(path + "\\config\\config.xml");
//System.out.println(path);
SAXReader reader = new SAXReader();
Document doc = null;
try {
doc = reader.read(f);
} catch (DocumentException e) {
logger.info("路径[" + path + "]下找不到配置文件");
e.printStackTrace();
throw new DocumentException();
}
Element root = doc.getRootElement();
Element conn = root.element("conn");
ip = conn.element("ip").getText();
port = conn.element("port").getText();
userName = conn.element("userName").getText();
password = conn.element("password").getText();
isTest = root.elementText("isTest");
}
}
4、 config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<!-- 配置 -->
<conn>
<ip>10.16.9.134</ip>
<port>30005</port>
<userName>admin</userName>
<password>12345678</password>
</conn>
<isTest>0</isTest>
</config>
5、 TestDom4j.java
注:此处测试用的Junit测试
package test;
import com.flyfox.config.Config;
import junit.framework.TestCase;
public class TestDom4j extends TestCase {
@Override
protected void setUp() throws Exception {
//数据初始化
System.out.println("--------------------init...");
Config.init();
}
public void testGet(){
System.out.println("ip="+Config.ip);
System.out.println("port="+Config.port);
System.out.println("userName="+Config.userName);
System.out.println("password="+Config.password);
System.out.println("isTest="+Config.isTest);
}
@Override
protected void tearDown() throws Exception {
//程序结束时执行
System.out.println("-------------------tearDown...");
}
}
6、 输出结果:
------------------init...
ip=10.16.9.134
port=30005
userName=admin
password=12345678
isTest=0
-------------------tearDown...