java以xml为配置文件_java xml作为配置文件,读取

每个项目都需要配置文件来把可变的东西抽出来,方便程序的开发和维护:

自己编写了一个xml文件读取类,并可以以字符串形式调用xml文件中的属性与其值,其实也可以,直接一个static函数直接获得属性与其值,然而,我没这么做。估计这么做会更好。不多说,就算是改也容易。先把source提供出来:

/*

* Property.java

*

* Created on 2008.7.11, am8:56

*

* To change this template, choose Tools | Template Manager

* and open the template in the editor.

*/

package mail;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.NodeList;

/**

*

* @author user

*/

public class Property {

private Element _rootElement = null;

/** Creates a new instance of Property */

public Property() {

//get the current directory

File directory = new File("");

String pathStr = directory.getAbsolutePath();

try {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document document = builder.parse(new File(pathStr + "//" + CONSTANT.xmlFileName));

_rootElement = document.getDocumentElement();

} catch (Exception e) {

Logger.println("exception:" + e.getMessage());

}

}

/* get property with the specified name

* param: property name

* return: the value of the property

*/

public String getProperty(String propertyName){

try{

NodeList list = _rootElement.getElementsByTagName(propertyName);

if(list.getLength() == 0){throw new Exception("xml error: there is no such property /"" + propertyName + "/"");}

Element element = (Element) list.item(0);

return element.getChildNodes().item(0).getNodeValue();

}catch(Exception ex){

Logger.println(ex.getMessage());

return "";

}

}

/* factory of this class

* return the object of this class

*/

public static Property getInstance(){

Property _property = new Property();

return _property;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值