Java 읽기 XML 구성 파일

3187 단어 xml 읽기
처음에는 mysql의 연결 파라미터를 프로그램에 쓰지 않으려고 했는데, 매번 파라미터를 수정하는 것이 번거롭기 때문에 쉽게 수정할 수 있는 방법을 찾으려고 했는데, 나중에 XML 파일을 통해 프로그램의 파라미터를 저장하는 방법을 찾았다.본문에서dom4j를 사용하여 xml 파일을 읽습니다
 
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 패키지 다운로드가 있습니다.

좋은 웹페이지 즐겨찾기