该类有读取和存储属性文件(.properties)和xml(.xml)配置文件的功能。
下面先来看java文件读取属性文件(.properties)代码
属性文件item.properties
firstName=Qingjian secondName=Wang
java文件方法体
Properties properties = new Properties(); FileInputStream fis = new FileInputStream("E://JAVA开发//workspace//addressBook//webapp//WEB-INF//item.properties"); properties.load(fis); properties.list(System.out); System.out.println(properties.getProperty("firstName"));
注:创建FileInputStream路径的时候,如果是普通java项目。则需将路径写成如上类似的绝对路径。如果是在web应用这的话,则可以将代码写成InputStream is = getServletContext().getResourceAsStream(pathname);其中pathname是应用的绝对路径。可以是“/WEB-INF/item.properties”。
接着来看读取xml文件代码
xml文件源码
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Hi</comment> <entry key="foo">bar</entry> <entry key="fu">baz</entry> </properties>
这里给出properties.dtd的信息
<?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>
如有疑惑可以参看dtd定义的相关信息。
java代码
Properties properties = new Properties(); FileInputStream fis = new FileInputStream("E://JAVA开发//workspace//addressBook//webapp//WEB-INF//item.xml"); properties.loadFromXML(fis); properties.list(System.out); System.out.println(properties.getProperty("foo"));
路径问题请参看属性文件中的讲解。
然后来看存储属性文件:
存储属性文件:
Properties 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.properties"); prop.store(fos,"test"); fos.close();
存储xml文件:
Properties 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"); prop.storeToXML(fos, "Rhyme"); fos.close();
最后需要声明下。如果需要读入在写出的话只需要再额外调用下setProperty方法即可了。希望能对大家有所帮助!