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> */ } } 
|