现在的位置: 首页 > 综合 > 正文

读写配置文件的简单例子

2013年06月29日 ⁄ 综合 ⁄ 共 2639字 ⁄ 字号 评论关闭

配置文件config.xml(XML形式,也可以使用别的形式):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<configuration>
<crawl>
	<seed>
		<value>http://www.baidu.com</value>
		<description>爬取的网站,暂时只能爬一个站点</description>
	</seed>
</crawl>
</configuration>

package test;

import java.io.IOException;

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;

public class configexample {

	static XMLConfiguration config;
	public static void main(String[] args) throws IOException, ConfigurationException {
		// TODO Auto-generated method stub
		String configfile= "config.xml";
		config = new XMLConfiguration(configfile);
		String seed = config.getString("crawl.seed.value");//获取
		FileChangedReloadingStrategy strategy = new FileChangedReloadingStrategy();
		   //设置文件策略更新时间为10秒
		strategy.setRefreshDelay(10000); 
		   //配置策略
		config.setReloadingStrategy(strategy);
		System.out.println(seed);
	}

}

需要导入的jar包有commons-configuration-1.9.jar  commons-lang-2.6.jar commons-logging-1.1.1.jar

添加节点

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<configuration>
<crawl>
	<seed>
		<value>http://www.baidu.com</value>
		<description>爬取的网站,暂时只能爬一个站点</description>
	</seed>
</crawl>
<add>
  <nodes>
  <test attr="attrValue">
  <child>value</child>
  </test>
</nodes>
</add>
</configuration>

添加函数AddNode

	  public static void AddNode() throws ConfigurationException  
	    {  
	     ConfigurationNode node = new HierarchicalConfiguration.Node("test");  
	     ConfigurationNode child = new HierarchicalConfiguration.Node("child"); 
	     child.setValue("value");//添加值
	     node.addChild(child);  
	     //添加属性
	     ConfigurationNode attr = new HierarchicalConfiguration.Node("attr"); 
	     attr.setValue("attrValue");
	     attr.setAttribute(true);  
	     node.addAttribute(attr);  
	           
	     Collection nodes = new ArrayList(1);  
	     nodes.add(node);  
	              
	     config.addNodes("add.nodes", nodes);  
	     config.save();  
	    }  

获取类表与属性值

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<configuration>
<crawl>
	<seed>
		<value>http://www.baidu.com</value>
		<description>爬取的网站,暂时只能爬一个站点</description>
	</seed>
</crawl>
<Belief>
<state prob="0.10869565">other</state>
<state prob="0.02173913">teach_ability</state>
<state prob="0.010869565">answer_color</state>
</Belief>
</configuration>
	public static void GetList(){
		List<Object> list = config.getList("Belief.state");
		for(int i=0;i<list.size();i++){
			Double prob = config.getDouble("Belief.state("+i+")[@prob]");//获取属性值
			System.out.println(list.get(i)+"\t"+prob);
		}
	}

抱歉!评论已关闭.