Java读取XML配置文件详细总结(dom4j方式)
程序员文章站
2022-06-09 18:30:19
...
最初的想法是不把mysql的连接参数写到程序中,因为每次要修改参数总是很麻烦,于是想找到一种能够方便修改的方式,后来就找到了通过XML文件存储程序参数的方法。本文中使用dom4j读取xml文件
XMLReader类
Config类
读取文件中的配置到Config类中,这里主要是Mysql的连接配置
XML文格式(conf.xml)
好了 再也不会有在源程序里修改配置的烦恼了,附件里有dom4j的jar包下载
XMLReader类
import java.io.File; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; /** * * @author Martin3000 * */ public class XMLReader { // 配置文件名 private static String filename = "conf.xml"; private static Config config; /** * 从配置文件中读取参数并保存到Config类中, * 很多时候程序中会多次使用到配置中的参数, * 于是设置成静态方法,读取一次后就一直保存其中的参数, * 不再反复读取 * * @return */ public static Config loadconfig() { if (config == null) config = getconfig(); return config; } private static Config getconfig() { Config config = new Config(); try { File f = new File(filename); if (!f.exists()) { System.out.println(" Error : Config file doesn't exist!"); System.exit(1); } SAXReader reader = new SAXReader(); Document doc; doc = reader.read(f); Element root = doc.getRootElement(); Element data; Iterator<?> itr = root.elementIterator("VALUE"); data = (Element) itr.next(); config.server = data.elementText("server").trim(); config.user = data.elementText("user").trim(); config.pass = data.elementText("pass").trim(); config.port = data.elementText("port").trim(); config.dbname = data.elementText("dbname").trim(); } catch (Exception ex) { System.out.println("Error : " + ex.toString()); } return config; } }
Config类
读取文件中的配置到Config类中,这里主要是Mysql的连接配置
/** * * @author Marin3000 * */ public class Config { public String server; public String user; public String pass; public String port; public String dbname; public String getConnString() { String connString = "jdbc:mysql://" + server + ":" + port + "/" + dbname + "?user=" + user + "&password=" + pass + "&useUnicode=true&characterEncoding=UTF-8"; return connString; } }
XML文格式(conf.xml)
<?xml version="1.0" encoding="UTF-8"?> <CONFIG> <VALUE> <!-- mysql连接设置 --> <server>127.0.0.1</server> <dbname>users</dbname> <user>root</user> <pass>pass</pass> <port>3306</port> </VALUE> </CONFIG>
好了 再也不会有在源程序里修改配置的烦恼了,附件里有dom4j的jar包下载