使用Properties从文件获取属性

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

import java.util.*;

import java.io.*;

/**

* refer to http://www-900.ibm.com/developerWorks/cn/java/j-tiger02254/index_eng.shtml </br>

* or http://www-900.ibm.com/developerWorks/cn/java/j-tiger02254/index.shtml

*/

public class LoadProperties

{

public static void main(String[] args) throws Exception {

Properties prop = new Properties();

//load properties from configuration file

System.out.println("From properties file:");

FileInputStream fis = new FileInputStream("sample.properties");

prop.load(fis);

prop.list(System.out);

System.out.println("\nThe foo property: " + prop.getProperty("foo"));

//load properties from xml property file(Tiger new method)

System.out.println("From xml file:");

fis =new FileInputStream("sampleprops.xml");

/**

*<pre>The XML document must have the following DOCTYPE declaration:

*<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

*the dtd file :

*<?xml version="1.0" encoding="UTF-8"?>

*<!-- DTD for properties -->

*<!ELEMENT properties ( comment?, entry* ) >

*<!ATTLIST properties version CDATA #FIXED "1.0">

*<!ELEMENT comment (#PCDATA) >

*<!ELEMENT entry (#PCDATA) >

*<!ATTLIST entry key CDATA #REQUIRED>

*</pre>

*/

prop.loadFromXML(fis);

prop.list(System.out);

System.out.println("\nThe foo property: " + prop.getProperty("foo"));

//生成xml文件

System.out.println("produce a xml file");

prop = new Properties();

prop.setProperty("one-two", "buckle my shoe");

prop.setProperty("three-four", "shut the door");

prop.setProperty("five-six", "pick up sticks");

prop.setProperty("seven-eight", "lay them straight");

prop.setProperty("nine-ten", "a big, fat hen");

FileOutputStream fos = new FileOutputStream("rhyme.xml");

/*

*default encoding is UTF-8,

* if you need specify encoding,

* use storeToXML(OutputStream os,String comment,String encoding) instead

*/

prop.storeToXML(fos, "Rhyme");//prop.storeToXML(fos, "Rhyme","GBK");

fos.close();//The specified stream remains open after storeToXML() returns,so must close obviously

/**

*生成的xml如下(DTD如上所述):

*<?xml version="1.0" encoding="UTF-8"?>

*<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

*<properties>

*<comment>Rhyme</comment>

*<entry key="seven-eight">lay them straight</entry>

*<entry key="five-six">pick up sticks</entry>

*<entry key="nine-ten">a big, fat hen</entry>

*<entry key="three-four">shut the door</entry>

*<entry key="one-two">buckle my shoe</entry>

*</properties>

*/

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航